stupidPDF · Privacy policy

Tool FAQ

This page lists every public tool on stupidPDF. It is a reference for crawlers and answer engines: the tool name, the path, what a person does on the page, and how the tool works. People can read it too.

stupidPDF is a free browser toolkit at https://www.stupidpdf.com/. There is no account. Files are processed in the browser and are not uploaded to a stupidPDF server. AI sends extracted text to Google Gemini with a key you provide. OCR reads scans on the device, with the browser’s built-in AI when it has one or with Tesseract, whose engine and language files come from stupidPDF the first time. A password-protected PDF asks for that password on the device before a tool reads it.

40 tools.

Merge

/merge · Combine

What it does

Combine PDFs and images into one file, in the page order you want

Build one PDF from several PDFs and images. Page order is visual: a page from one file can sit between pages of another.

How to use

  1. Open /merge.
  2. Drop two or more PDFs or images (PNG, JPEG, GIF, BMP, or WebP). Adding the same file twice keeps both copies.
  3. Drag pages in the filmstrip to set the final order (on a phone, press and hold a page, then drag). File cards add, remove, or restack a whole file.
  4. Press Merge PDFs, or Merge when the drop includes images.
  5. Download the PDF. The page count is shown when it is ready.

How it works

Each file is read in the browser. The worker copies the chosen pages into a new PDF in the order on screen, keeping fillable form fields (a clashing field name gets a _2 suffix). Images become pages, turned upright from the camera’s orientation tag. Nothing is uploaded to stupidPDF.

Assemble

/assemble · Combine

What it does

Build one packet from documents and images, then crop, rotate, fill, and sign it

Build one packet from PDFs, images, and office files, then crop images, rotate pages, and fill or sign without downloading between steps.

How to use

  1. Open /assemble and drop PDFs, images, or Word, PowerPoint, CSV, HTML, or EPUB files. Office files become PDF pages in the strip.
  2. Drag pages to set order. Select pages, then rotate, duplicate, or delete them; Undo steps back. For one selected image page, press Crop image, drag the corners, then Keep.
  3. Press Fill and sign. The packet stays in this tab. Fill fields, add text, or place a signature.
  4. Press Save PDF and download once. Back to arrange keeps the source list.

How it works

Office files are converted locally with the same path as Convert. Pages are merged in the browser with the merge worker, including per-page rotation. Image crop uses the Scan corner editor and replaces that image in the source list. Fill writes fields and stamps into the in-memory PDF. Nothing is uploaded.

Images to PDF

/images · Combine

What it does

Turn photos and images into one PDF, one image per page

Turn photos into a multi-page PDF. Accepted types are PNG, JPEG, GIF, BMP, and WebP. Camera photos can be added from the page.

How to use

  1. Open /images.
  2. Drop one or more images, or add a camera photo.
  3. Drag cards or use the arrows to set page order.
  4. Choose a page size (A4, Letter, or Fit image) and a margin.
  5. Press Convert to PDF.
  6. Download the PDF.

How it works

The browser reads the images, turning phone photos upright and redrawing GIF, BMP, and WebP as PNG or JPEG. The worker builds one PDF page per image, in card order, fitted to the chosen paper with wide images on landscape pages. The images are not uploaded.

Markdown to PDF

/markdown · Combine

What it does

Turn a Markdown file or typed notes, diagrams included, into a PDF

Turn Markdown into a formatted PDF. You can drop .md, .markdown, or .mdown files, type Markdown in the box, or both. Mermaid diagrams in the Markdown are drawn and embedded.

How to use

  1. Open /markdown.
  2. Drop Markdown files, or type Markdown in the box. A typed note is enough; files are optional then.
  3. Press Convert to PDF.
  4. Download the PDF. A single dropped file with no typed text uses that file name with a .pdf extension. Otherwise the download is markdown.pdf.

How it works

Mermaid blocks are rendered to PNG in the browser. The worker then turns the Markdown and those images into PDF pages. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols are drawn with fonts that ship with the site. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet: they show as ? and the page lists them. The source is not uploaded.

Interleave

/interleave · Combine

What it does

Alternate pages from two PDFs, like scanned fronts and backs

Weave two or more PDFs so pages alternate: first page of file A, first page of file B, second page of file A, and so on.

How to use

  1. Open /interleave.
  2. Drop at least two PDFs.
  3. Drag cards or use arrows so the file order is the weave order.
  4. Press Interleave.
  5. Download the PDF.

How it works

The worker walks the files in card order and takes the next page from each file in turn until the files run out. Processing stays in the browser.

Split

/split · Split

What it does

Pull out pages, or cut a PDF into parts by page, size, or bookmark

Pull pages out of one PDF, or cut it into several files in a ZIP.

How to use

  1. Open /split and drop one PDF. Thumbnails appear. In Extract page range, clicking pages fills the page box and typing a range selects those pages.
  2. Choose a mode: Extract page range, Every page (ZIP), Split in half (ZIP), By max size (ZIP), By bookmarks (ZIP), or Where text appears (ZIP). The other modes always split the whole PDF.
  3. For a range, type pages such as 1-3,5,8- (8- means page 8 to the end). Pages come out in the order you type. For size, set a max KB. For text, type the text that starts a new part.
  4. Press Extract pages for a range, or Split into ZIP for the other modes.
  5. Download one PDF or a ZIP of PDFs, named after your file.

How it works

Range mode copies the listed pages into one PDF. Every-page mode makes one PDF per page. Half mode cuts the document in two. Size mode packs pages until the next page would pass the cap, and says so when one page is bigger than the cap on its own. Bookmark mode makes one PDF per top-level bookmark, named after it. Text mode starts a new part on each page whose text contains the phrase, ignoring case. Each part keeps the bookmarks that point inside it. All of that runs in the browser. This is not OCR.

Rotate

/rotate · Pages

What it does

Turn selected pages a quarter, half, or three-quarter turn

Turn pages 90 degrees clockwise, 180 degrees, or 90 degrees counter-clockwise.

How to use

  1. Open /rotate and drop a PDF.
  2. Select pages in the filmstrip. If none are selected, every page is rotated.
  3. Choose 90° clockwise, 180°, or 90° counter-clockwise.
  4. Press Rotate and download the PDF.

How it works

The worker rewrites the selected page rotations inside a new PDF. Unselected pages stay as they were when a selection exists. The file stays on the device.

Flip

/flip · Pages

What it does

Mirror selected pages left to right or top to bottom

Mirror pages left-right, top-bottom, or both.

How to use

  1. Open /flip and drop a PDF.
  2. Select pages, or leave the selection empty to flip every page.
  3. Turn on horizontal, vertical, or both. The button stays off if neither is on.
  4. Press Flip and download the PDF.

How it works

The worker mirrors each chosen page the way it looks on screen, so rotated and cropped pages flip correctly. Bookmarks, links and form fields stay. The bytes never leave the browser.

N-up

/nup · Pages

What it does

Print 2, 4, 6, 9, or 16 pages on one sheet

Place several source pages onto each output sheet. Choices are 2, 4, 6, 9, or 16 pages per sheet.

How to use

  1. Open /nup and drop a PDF.
  2. Choose pages per sheet and a sheet size, A4 or Letter. A grid preview shows the layout. 2-up and 6-up sheets are landscape.
  3. Press Create N-up.
  4. Download the PDF. The status line reports how many sheets were made.

How it works

The worker scales each page, as it looks on screen, into its cell in reading order, with small gaps between cells. Links and form fields are not kept on the sheets. Processing is local.

Crop

/crop · Pages

What it does

Trim page margins and fit pages to A4, Letter, or a custom size

Trim the edges of selected pages, then optionally fit the result to A4, Letter, or a custom page size.

How to use

  1. Open /crop and drop a PDF.
  2. Select pages in the filmstrip, or none to crop every page.
  3. Set units to points, inches, or millimeters, and enter the top, right, bottom, and left crop, measured from the edges as the page looks on screen.
  4. Optionally choose a target size: none, A4, Letter, or custom width and height.
  5. Press Crop and download the PDF.

How it works

Crop amounts are converted to PDF points (72 points per inch) and applied to the selected pages in the worker, following each page's rotation and existing crop. A target size scales what is left to fit that paper and centers it. The file stays on the device.

Organize

/organize · Pages

What it does

Reorder, delete, rotate, recolor, or add blank pages

Reorder pages, insert blanks, duplicate, delete, reverse, rotate, or recolor.

How to use

  1. Open /organize and drop a PDF.
  2. Drag thumbnails (on a phone, press and hold a page, then drag), or select pages and use Move. You can also type an order such as 3,1,2 or 1-5,blank,9-7 and press Enter; on a phone it is under Advanced.
  3. Select pages for Move, Rotate, Duplicate, and Delete. Insert blank adds a page after the selection, or at the end when nothing is selected. Undo steps back through every change.
  4. Optional recolor: Invert, Sepia, or Grayscale, applied to the selected pages, or every page if none are selected. Recolored pages become images, so their text can no longer be selected.
  5. Press Apply order and download the PDF.

How it works

The filmstrip is the page list. The worker puts the pages in that order, with blank pages sized like their neighbours and the rotations you chose. Bookmarks and form fields are kept; bookmarks to deleted pages are removed. Recolor draws the chosen pages as new images and puts them back. All of this is local.

Export images

/export-images · Pages

What it does

Save pages as JPG or PNG images, up to print quality (600 DPI)

Render selected pages to JPEG or PNG and download a ZIP. Resolution goes up to 600 DPI.

How to use

  1. Open /export-images and drop a PDF.
  2. Select the pages to export, or none for every page. Choose JPEG or PNG, a DPI from 72 to 600, and for JPEG a quality.
  3. Press Export JPEG ZIP or Export PNG ZIP. A progress bar counts the pages.
  4. Download the ZIP, named after your file.

How it works

The browser draws each selected page at the chosen DPI, one page at a time, and a background worker packs the images into a ZIP. The PDF is not uploaded.

Fill & sign

/fill · Annotate

What it does

Fill in forms, add text, and sign

Fill existing form fields, drop new text, or place a signature on the page you are looking at.

How to use

  1. Open /fill and choose a PDF. The page opens on screen. A form with fields can also be filled as a list (Fill as a form), the view phones start in.
  2. Fill a field on the page or in the list. To add something, choose Text, Signature, Date or Check, then tap or click the page where it goes.
  3. Drag a selected item to move it, or drag its corner to resize it. Its menu edits, duplicates or removes it. Pinch, double-tap or use + and − to zoom.
  4. Press Save PDF and download the filled PDF.

How it works

The PDF is drawn in the browser. Field values and placed text or signature images are written into a new PDF on the device, where you placed them and upright, even on rotated pages. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols such as ✓ → № are drawn with a font that ships with the site, downloaded the first time a tool needs it. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet; the page names those characters before you run it. The form is not submitted to a server.

Watermark

/watermark · Annotate

What it does

Stamp text like DRAFT, or a logo, across your pages

Stamp text or an image across selected pages. If you select nothing, every page is stamped.

How to use

  1. Open /watermark and drop a PDF.
  2. Select pages, or leave them unselected for all pages.
  3. Choose Text or Image. For text, set the words, font size, colour, opacity, and rotation. For an image, choose the image file. The preview shows the stamp as it will print.
  4. Press the stamp action and download the PDF.

How it works

The worker draws the text or image onto each chosen page and saves a new PDF. Opacity and rotation are applied in that draw. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols such as ✓ → № are drawn with a font that ships with the site, downloaded the first time a tool needs it. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet; the page names those characters before you run it. The stamp asset stays on the device.

Headers & footers

/headers · Annotate

What it does

Add text to the top or bottom of every page, with page numbers and dates

Write six header and footer slots. Tokens {page}, {total}, and {date} are replaced per page.

How to use

  1. Open /headers and drop a PDF.
  2. Fill any of header left, center, right and footer left, center, right. Empty slots are skipped.
  3. Use {page}, {total}, or {date} inside any slot.
  4. Run the tool and download the PDF.

How it works

The worker paints the six slots into the page margins. {page} is the page number, {total} is the page count, and {date} is the date at run time. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols such as ✓ → № are drawn with a font that ships with the site, downloaded the first time a tool needs it. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet; the page names those characters before you run it. Processing is local.

Page numbers

/page-numbers · Annotate

What it does

Number every page at the bottom

Stamp a page-number line in the footer.

How to use

  1. Open /page-numbers and drop a PDF.
  2. Edit the template. The starting template is Page {page} of {total}. Tokens are {page}, {total}, and {date}.
  3. Choose footer left, footer center, or footer right, and the first number.
  4. Run the tool and download the PDF.

How it works

Same stamping path as headers, limited to one footer slot. Numbers are computed in the browser from the real page count; {total} is the last page number. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols such as ✓ → № are drawn with a font that ships with the site, downloaded the first time a tool needs it. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet; the page names those characters before you run it.

Bates numbers

/bates · Annotate

What it does

Stamp legal Bates numbers (ABC000001, ABC000002…) on every page

Stamp a sequential Bates number on each page: prefix, zero-padded number, then suffix.

How to use

  1. Open /bates and drop a PDF.
  2. Set prefix, suffix, start number, and how many digits to pad.
  3. Choose bottom left, bottom center, or bottom right.
  4. Run the tool and download the PDF.

How it works

The worker writes prefix + padded number + suffix on each page, starting at the number you set and adding one per page. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols such as ✓ → № are drawn with a font that ships with the site, downloaded the first time a tool needs it. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet; the page names those characters before you run it. The stamp is local.

Flatten

/flatten · Annotate

What it does

Lock filled forms and comments into the page so they can't be edited

Turn form fields and markup (highlights, shapes, stamps, ink, free text) into part of the page, so they look the same but can't be changed. Sticky notes are removed. Links, attachments and bookmarks keep working unless you choose to remove links and attachments.

How to use

  1. Open /flatten and drop a PDF.
  2. Tick Also remove links and attachments if you want those gone too.
  3. Press Flatten.
  4. Download flattened.pdf.

How it works

The worker paints each field and annotation from its own appearance, exactly where it sat, then removes it. Scripts that run on open are removed. Links, attachments and named destinations stay unless you remove them. The new PDF is built in the browser.

Encrypt

/encrypt · Security

What it does

Add a password so only people who know it can open the PDF

Lock a PDF with AES-256 so it needs a password to open. You can also limit printing and copying.

How to use

  1. Open /encrypt and drop a PDF.
  2. Type the password twice. The button stays off until both match.
  3. Optionally tick Limit printing and copying, choose what stays allowed, and set an owner password that lifts the limits. Without one, a random owner password is used.
  4. Press Encrypt and download the locked copy. Bookmarks, links and form fields are kept.

How it works

The worker encrypts the PDF in the browser with the passwords you typed. Those passwords are not saved and are not sent to stupidPDF. Print and copy limits are honored by PDF readers; they do not stop someone who has the password from making an unlocked copy.

Unlock

/unlock · Security

What it does

Remove the password from a PDF you can already open

Open a protected PDF with its password and save a copy that no longer asks for it. Files that open freely but block printing or copying unlock with no password.

How to use

  1. Open /unlock and drop a PDF.
  2. Enter the password that opens the file, or leave the field blank if the file opens without one.
  3. Press Unlock.
  4. Download the unlocked PDF. A wrong password returns an error and does not produce a file.

How it works

The password is used only in the browser to decrypt and rewrite the PDF without encryption. stupidPDF does not receive the password or the file.

Metadata

/metadata · Security

What it does

See and remove hidden details like author and software, or edit the title

See the hidden details a PDF carries (title, author, dates, the apps that made it, XMP, GPS), strip them, or set the title, author, subject and keywords.

How to use

  1. Open /metadata and drop a PDF.
  2. Read the list of hidden details the file carries, including its XMP and any GPS location.
  3. Press Strip hidden metadata to remove them, or edit title, author, subject or keywords and press Write metadata. After a strip, the next change builds on the stripped copy.
  4. Download the new copy. Its name ends in -clean.pdf or -metadata.pdf.

How it works

The worker reads the document info and the XMP packet on the device. Strip deletes the info dictionary, every XMP stream (document, pages, images), private app data, page thumbnails, camera details in photos and the file id, so they are gone from the file bytes, not only hidden. Text, pictures, comments, form values and attachments stay. A PDF/A file stops claiming PDF/A once its XMP is gone. Write updates the document info and the XMP together and keeps the Producer. Nothing is uploaded.

File hash

/hash · Security

What it does

Get a file's SHA-256, SHA-1, and MD5 fingerprint to check it is unchanged

Compute SHA-256, SHA-1, and MD5 of any file and check it against a hash you were given. The result is shown on the page. There is no PDF download.

How to use

  1. Open /hash.
  2. Drop any file, not only a PDF.
  3. Press Hash.
  4. Press Copy next to a hash, or paste the expected hash to see Match or No match. Case and spaces do not matter.

How it works

The worker hashes the raw bytes in the browser and returns the three digests, the same ones sha256sum, sha1sum and md5sum print. The file is not uploaded.

Extract text

/extract-text · Inspect

What it does

Copy all the text out of a PDF, page by page

Copy the text that is already in a PDF, page by page, or download it as a .txt file. This is not OCR: a scanned page has no text here, and the page offers to open it in /ocr.

How to use

  1. Open /extract-text and drop a PDF.
  2. Press Extract and read the per-page text.
  3. Press Copy text (it says Copied) or download the .txt.
  4. If some pages have no text, press Read it with OCR to open the same file in /ocr.

How it works

The worker reads the text layer of each page with pdf.js in the browser. It does not send the PDF out and it does not recognize pictures of letters.

Compare

/compare · Inspect

What it does

See which words, pages, and sizes changed between two PDFs, side by side

Find what changed between two PDFs: the words on each page, page count, page size, and rotation. Then scroll both side by side.

How to use

  1. Open /compare.
  2. Drop the two PDFs. Compare takes two; a third is not added, and the page says so.
  3. Press Compare. Each changed page lists the lines that differ, with removed words struck through and added words underlined.
  4. Scroll either preview. The other one follows page by page.

How it works

Both files stay in the browser. The worker reads the text of each page and lines up the words of the two versions, then checks page count, page size, and rotation. Pages with no text in either file (scans) can only be compared by eye in the previews. It does not produce a merged file and it does not upload either PDF.

Repair

/repair · Inspect

What it does

Rebuild a damaged PDF that won't open or print properly

Rebuild a damaged PDF and see what was wrong: a broken index, a file that ends early, or missing pages and images. A healthy file is reported as having no problems. It is not a guarantee for every broken file.

How to use

  1. Open /repair and drop a PDF.
  2. Press the repair action.
  3. Read the status line: it says what was fixed and what could not be recovered.
  4. Download the rebuilt PDF.

How it works

The worker reads the file leniently with pdf-lib, keeps every page whose content is still there, puts back an image the file lost track of when one fits, and writes the document again with a fresh index. Bookmarks, forms and metadata stay. Processing is local.

Compress

/compress · Optimize

What it does

Make a PDF smaller, or fit it under a size limit for email and forms

Shrink one PDF. Presets are High quality (images at 300 dpi), Balanced (150 dpi), and Small file (96 dpi). An optional max size in KB picks the best-quality preset that fits, or reports that the file is still over the limit.

How to use

  1. Open /compress and drop a PDF.
  2. Pick a preset, or type a max size in KB. A max size disables the preset menu because the cap chooses the preset.
  3. Optional: press Compare presets to see a bench of sizes without committing to one download.
  4. Press Compress. The status line shows the size before and after, the percent saved, and how many images were made smaller.
  5. Download compressed.pdf.

How it works

The worker downsamples and re-encodes images in the browser and repacks the file. Text stays selectable, and bookmarks, forms and attachments stay. If nothing gets smaller you get your original file back. With a size limit it tries High quality first and uses the first preset that fits. The file is not uploaded. Compare presets only prints sizes; it does not replace the download until you press Compress.

Batch compress

/batch · Optimize

What it does

Shrink many PDFs at once and download them as a ZIP

Compress many PDFs with the same presets as /compress and download one ZIP. Drag the list to set order.

How to use

  1. Open /batch and drop several PDFs.
  2. Choose the preset. Drag rows if order matters.
  3. Press the batch action.
  4. Download the ZIP of compressed PDFs.

How it works

Each file is compressed in the browser with the same path as Compress, then packed into a ZIP. A file that cannot be read is skipped and named in the status line; the rest are still zipped. No file is uploaded.

Workflow

/workflow · Batch

What it does

Run several steps in a row: compress, watermark, crop, flatten, encrypt, and more

Run several tools in order on one PDF. Steps can be reordered. Available steps: Compress, Watermark, Page numbers, Rotate, Bates, Crop, Flatten, Encrypt, Headers, and Strip metadata.

How to use

  1. Open /workflow and drop one PDF.
  2. Set step 1, then add steps. Move a step up or down, or remove it.
  3. Fill the options for that step: compress preset, watermark text, page number text ({page} and {total}), rotate degrees (90, 180, or 270), Bates prefix, suffix, start number and digits, crop inset in points on every edge, encrypt password (typed twice), or header center text. Flatten and strip metadata need no extra field.
  4. Fix any step marked in red. Run stays off until every step can run, for example when the encrypt password is missing or a header uses a character no font can draw yet, such as Chinese or an emoji.
  5. Press Run workflow. The result lists the steps in the order they ran. Download the PDF.

How it works

The worker applies each step to the bytes from the previous step, in list order, inside the browser. Encrypt always runs last, since no other step could read a locked file, and only the last Encrypt step counts. Encrypt uses only the password typed into that step. Strip metadata removes info fields. The PDF is not uploaded.

Redact

/redact · Security

What it does

Find emails, phone numbers, and other personal data and delete them from the PDF

Find common personal data, uncheck anything you want to keep, and delete the rest from every page. You can also type other text to remove.

How to use

  1. Open /redact and drop a PDF.
  2. Press Scan for personal data. Each match shows the pages it is on. Uncheck any you want to keep.
  3. Optional: type more text to remove, one per line. It matches on every page, in upper or lower case.
  4. Leave Draw a black box on to cover the spots, or turn it off to leave them blank.
  5. Press Redact selected and download the file. Its name ends in -redacted.pdf.

How it works

Scan reads the text of every page in the browser and looks for email addresses, phone numbers written with separators, US Social Security numbers, Canadian SINs that pass the Luhn check, street addresses and postal codes, card numbers that pass the Luhn check, Aadhaar numbers that pass the Verhoeff check, Indian PAN codes, a letter-plus-seven-digits passport pattern, and bank lines that say account, a/c, or acct. Redact then finds each selected string in the page content, even when it is split across pieces or stored in a custom font encoding, cuts those characters out while keeping the rest of the line in place, and replaces the old content so no copy is left in the file. It reads the result back and reports anything still there: text in a font it cannot edit, hidden text over a scanned image (the image still shows it), or copies in form fields, comments, bookmarks, or metadata. Text that exists only inside an image is not found, because this scan is not OCR. The file is not uploaded.

Fingerprint

/fingerprint · Security

What it does

Add an invisible ID to each copy so a leaked one can be traced

Mark a PDF with an invisible id, and optionally who the copy is for, so a file you handed out can be matched later. Check a file reads the id back. A print or a screenshot does not keep it.

How to use

  1. Open /fingerprint and drop a PDF.
  2. Optionally type who the copy is for, then press Add fingerprint.
  3. Copy the id and download the file. Its name ends in -fingerprinted- and the id.
  4. Later, drop a copy, choose Check a file and press Check for a fingerprint to read the id and name.

How it works

The worker makes a random 16-character hex id and stores it, with the name you typed, in a private entry on every page. It is not text, so the page looks the same, copied or extracted text does not change, and Strip hidden metadata leaves it. Each page keeps it when pages are split out. Fingerprinting a fingerprinted copy adds a second id beside the first, and Check a file lists both. Anyone who inspects the file structure can find it, and a paper print or a screenshot drops it. The mark is added and read locally.

Edit text

/edit-text · Annotate

What it does

Replace a word or phrase on one page

Replace a word or phrase on one page. Other text on that page is left as it is.

How to use

  1. Open /edit-text and drop a PDF.
  2. Set the page number (the first page is 1). The text on that page is shown so you can copy the words exactly.
  3. Type the text to find and its replacement. Tick Replace every match to change all matches on that page.
  4. Press Replace text and download the file. Its name ends in -edited.pdf.

How it works

The worker reads that page’s text the way a viewer shows it, finds the words even when they are split into pieces, and writes the replacement in the same font. If the font has no shape for a character you typed, the tool names it and changes nothing. The status says how many matches were replaced. It does not reflow a paragraph, so a longer replacement can run into the next words. The edit is local. If the words are only painted in a scan, this tool cannot see them.

Thumbmark

/thumbmark · Annotate

What it does

Turn a photo of a signature or stamp into a clean, transparent image

Turn a photo of an inked fingerprint, stamp or signature into a transparent PNG, cropped to the ink, that you can place later with Fill and sign.

How to use

  1. Open /thumbmark and drop a PNG or JPEG of the print.
  2. Choose ink color: black, blue, red, or violet.
  3. Move Ink to keep toward Dark ink only or Fainter ink too until the preview looks clean.
  4. Press Make PNG and download thumbmark.png.

How it works

The page compares each pixel with the paper around it, so shadows and uneven light drop out. Edges stay soft, the ink is recolored, and the PNG is cropped to the ink. No upload.

Scan to PDF

/scan · Combine

What it does

Photograph pages with your camera, straighten them, and save one PDF

Capture each page with the camera or a photo, crop it, pick a filter, then save one PDF.

How to use

  1. Open /scan.
  2. Use the camera button or drop PNG, JPEG, or WebP photos. Each new photo opens the crop editor.
  3. Drag the crop corners. Choose a filter: Original, Document, Sharpen, Enhanced, Grayscale, or B&W. Keep the page or skip it.
  4. Reorder the kept pages if needed.
  5. Press Make PDF and download scan.pdf.

How it works

Crop and filters run on a canvas in the browser. Make PDF sends those images to the same local images-to-PDF worker used by /images. The photos are not uploaded. The camera needs the browser’s permission, which the browser handles on the device.

Resume

/resume · Combine

What it does

Fill in a simple form to make a resume PDF, or get LaTeX source

Type a resume and download a PDF or a LaTeX source file. Layouts are Classic (one column) and Sidebar (contact and education in a left column).

How to use

  1. Open /resume.
  2. Choose a layout and fill name, contact, summary, experience, and education. Name is required.
  3. Press Download PDF.
  4. After the PDF is ready, download the LaTeX source from the extra button if you want the .tex file. Editing the form clears both until you make the PDF again.

How it works

The worker draws the PDF on the device in the chosen layout, one bullet per experience line. LaTeX is generated locally from the same fields and compiles with pdflatex. On a successful PDF download, the fields are saved in this browser under stupidpdf-resume so the form can refill later. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols are drawn with fonts that ship with the site. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet: they show as ? and the page lists them. Nothing is uploaded.

Convert

/convert · Combine

What it does

Turn Word, PowerPoint, CSV, HTML, or EPUB into a PDF, or a PDF into Word

Turn Word, PowerPoint, CSV, HTML, or EPUB into a PDF, or turn a PDF into a Word file that keeps reading order.

How to use

  1. Open /convert.
  2. Drop one file: .docx, .pptx, .csv, .html, .htm, .epub, or .pdf.
  3. The direction follows the file: a PDF becomes Word, anything else becomes a PDF.
  4. Press Convert to PDF or Convert to Word.
  5. Download the result, named after your file (report.pdf or report.docx).

How it works

Conversion runs in a background worker in the browser. Document-to-PDF keeps headings, lists, tables, slide order, and every CSV cell. PDF-to-Word writes one Word paragraph per line with a page break between pages. A scanned PDF has no text to copy, so the page points to OCR instead. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols are drawn with fonts that ship with the site. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet: they show as ? and the page lists them. The file is not uploaded.

OCR

/ocr · Inspect

What it does

Read the text in scans and photos so you can copy it

Copy a real text layer, or read a scan with the browser’s built-in AI or with Tesseract, on the device. Output is a .txt download, a preview on the page, and a searchable PDF. After the first scan it works offline.

How to use

  1. Open /ocr and drop a PDF, PNG, JPEG, or WebP.
  2. Pick the Reader: Automatic (the built-in AI when the browser has it ready for your languages, otherwise Tesseract), On-device AI, or Tesseract. If the browser can download its built-in AI, the page asks first and says how big the download is; Not now keeps Tesseract.
  3. Choose layout: Full page (columns and headings) or Single block (receipts and snippets).
  4. For a long PDF, type the pages to read (for example 1-3, 5), or leave Pages blank for all.
  5. Check languages: English, Spanish, French, German. At least one is required.
  6. Press Read scan. The page shows which page it is reading and about how long is left. Cancel stops it and keeps the pages already read.
  7. Read the preview and download the .txt, or press Download searchable PDF for the original pages with the text added invisibly, so the PDF can be searched and its text selected. The page lists which reader read each page, and the status line shows confidence for pages Tesseract read.

How it works

If a PDF page already has a text layer, that text is copied on the device and OCR is skipped for that page. Other pages are rendered near 300 DPI. With the built-in AI (the browser’s Prompt API), each page is cut into strips at blank lines and the model is asked for an exact transcription of each strip; if its answer is empty for a strip with print, repeats itself, or holds more text than the ink could, that page is read by Tesseract instead and the page says why. Tesseract.js straightens tilted pages, cleans up a faded page or uneven light, reads both ways, and keeps the clearer result. The built-in model is downloaded by the browser from its maker (about 3 to 4 GB, once) and only after you press Download and use it; it carries no document data. The Tesseract engine (about 4 MB) and each language (1 to 3 MB) download from stupidPDF the first time and are then kept by the browser, so later scans work offline. If a download stalls, the page names the language that failed. The searchable PDF is written in the background worker: each line goes where it was read, in invisible text. The scan is not sent anywhere. Low Tesseract confidence (under 60%) is called out so you can try a sharper or straighter scan.

Speech

/speech · Inspect

What it does

Have a PDF read aloud, or turn a typed transcript into a PDF

One tool with two jobs: read a PDF aloud in the device voice, or save a typed transcript as a PDF. There is no audio download.

How to use

  1. Open /speech.
  2. Leave Job on Read PDF aloud, drop a PDF, and press Read aloud. Pause, Resume, and Stop control the voice, and it stops when you leave the page.
  3. Or set Job to Transcript to PDF, type or paste text, and press Save transcript PDF. The download becomes transcript.pdf.

How it works

Read aloud extracts the text layer locally (not OCR) and reads every page, a sentence or two at a time, with the browser speech feature. It prefers a voice that runs on the device; if the browser only has online voices, the page says that the browser sends the text to its voice service. The browser cannot record that voice, so there is no audio file. A scanned PDF has no text to read, and the page offers OCR instead. Transcript to PDF keeps the typed text exactly as written and builds the PDF in the local worker. Latin (with Vietnamese), Greek, Cyrillic, Armenian and Georgian text and common symbols are drawn with fonts that ship with the site. Chinese, Japanese, Korean, Arabic, Hebrew, Indic scripts and emoji can’t be drawn yet: they show as ? and the page lists them. The PDF is not uploaded.

AI

/ai · Inspect

What it does

Summarize or ask questions with your own Gemini key. Sends the text, not the file

Summarize a PDF or ask a question about it. This is the tool that sends extracted text off the device. The PDF file stays put.

How to use

  1. Open /ai and drop a PDF.
  2. Paste a Gemini API key. Check “Save key in this browser” only if this browser profile should remember it.
  3. Choose Summary (with optional extra instructions) or Question (type what you want to know).
  4. Press Summarize or Ask. Cancel stops a request that is taking too long.
  5. Read the answer on the page. There is no file download.

How it works

The worker extracts text on the device. The page then sends the prompt plus up to 20,000 characters of that text to Google Gemini (gemini-2.0-flash), with your key in a request header, and says when a long document was cut. A scanned PDF has no text, so nothing is sent and the page points to OCR. A rejected key or a used-up quota gets a plain explanation. Google sees the text and the key. stupidPDF does not receive the PDF. Checking “Save key in this browser” writes the key to local storage as stupidpdf-gemini-key; unchecking it removes the key at once. Details are also on the privacy page.

Handwriting

/handwriting · Combine

What it does

Turn typed text into a handwriting-style PDF

Draw typed words in a handwriting-style font and save them as a PDF on A4 or Letter. Long notes continue on more pages. There is no file to drop.

How to use

  1. Open /handwriting.
  2. Type the note. Line breaks are kept.
  3. Choose A4 or Letter, then press Make PDF.
  4. Download handwriting.pdf.

How it works

The page paints the words on white pages with the bundled Caveat handwriting font, wraps lines to the page width (breaking very long words), and adds pages as needed. The worker wraps the page images in a PDF. The note is not uploaded.

Whiteboard

/whiteboard · Annotate

What it does

Draw on a board and save it as a PDF

Draw on an A4 or Letter page with a mouse, pen or finger and save the drawing as a one-page PDF.

How to use

  1. Open /whiteboard and choose the paper.
  2. Draw on the board. Undo removes the last stroke; Clear starts over.
  3. Press Save PDF.
  4. Download whiteboard.pdf.

How it works

Strokes are drawn in the browser and saved as vector lines on a one-page PDF of the chosen paper size. The drawing is not uploaded.