WhatsInMyPDF

Local PDF forensics

Find what's hiding in your PDF

White-on-white text, invisible render modes, tiny fonts, hidden layers, and prompt-injection aimed at AI reviewers. 100% local — files never leave your browser.

No suspicious PDF handy? Try an example:

Don't take our word for it

Every tool like this says your files stay on your device. Here are three ways to check this one, none of which require trusting us.

  1. 01

    Watch the network tab

    Open your browser's developer tools, switch to Network, and scan a file. No request carries the PDF. You will also see the 10 MB scan engine download only once you ask for a scan — loading this page fetches nothing of the sort.

  2. 02

    Pull the plug

    Scan one file, disconnect from the network, then reload the page and scan another. Both still work: after one visit the whole tool lives in your browser, and there is nothing left for it to talk to.

  3. 03

    Read the test, not the promise

    The source is public, and its test suite watches the browser's own traffic during a scan and fails the build if anything leaves the page. That test runs on every deploy, against this live site.

The no-upload testThe detection logicThe whole thing, AGPL

What we detect

Eleven kinds of hidden content, read from the file's structure rather than its rendered page.

Near-white text

Strong signal

Text colored so close to the page background that a human reader sees nothing, while an AI parsing the text layer reads it in full. White text on a white page is almost never legitimate.

Invisible render mode

Strong signal

Text drawn with PDF render mode 3, which paints no pixels at all yet stays in the machine-readable text layer. Normal authoring tools essentially never use this.

Tiny font

Text set below 4pt — too small to read on screen or in print, but fully extractable by software. The most common source by far is a chart scaled down to fit a page: axis ticks and labels routinely land between 1pt and 4pt, and a single figure can account for hundreds of these. What is worth reading is the text that forms sentences rather than single words and numbers.

Off-page text

Text that sits entirely outside the visible page area: present in the file, extractable by any tool that reads the whole page, and never drawn where a reader would see it. PDF engines normally clip it away before extraction — this scanner deliberately reads the full sheet first, so the text itself is quoted below. Text beyond the sheet of paper (outside the media box) stays out of reach.

Crop box mismatch

The page is cropped smaller than its full media size, which can push content into the trimmed margins. Frequently benign in scanned files — inspect what falls outside the crop.

Hidden layers

Optional-content layers that are off by default or explicitly marked hidden. The layer contents stay in the file and remain readable by software even though they are not shown.

Embedded files

One or more files attached inside the PDF. Routine on engineering datasheets, unusual on papers or contracts. The names are listed below — do not open them without checking.

Embedded JavaScript

The document carries JavaScript, which can run when the file is opened in some viewers. Expected in interactive forms, out of place in a static paper or contract. It is never executed here.

Annotations

Comments and sticky notes whose text is invisible in normal rendering but still sits in the file. Often legitimate, but a classic place to hide instructions — always read the content.

Prompt injection

Text matching known patterns that try to steer an AI reviewer or summarizer — for example, telling it to ignore its instructions or return a positive verdict. Suggestive, not conclusive: a paper about prompt injection may quote such strings legitimately, so read the surrounding context.

Peer-review watermark

Hidden text instructing an AI reviewer to work fixed phrases into its review. Some conferences add one to every submitted paper, so that a review written by a language model gives itself away when those phrases turn up in it — meaning a finding here says nothing about the authors, who usually have no idea it is there. Where a venue does this, its own guidance is normally that a watermark revealing AI use needs no action, while hidden text that tries to influence the decision does. Matched on the shape of the instruction, so read it as "looks like a reviewing watermark", not as proof of one.

Frequently asked questions

Is my file uploaded?
No. The scanner runs entirely in your browser using WebAssembly. Your PDF is decoded and analyzed locally on your own device and is never uploaded to any server. Nothing leaves your browser.
What can it miss?
It reads the PDF's text layer and structure, so it cannot see text that exists only as part of an image — a scanned page or a screenshot has no text layer to inspect. It can also miss instructions phrased obscurely enough to slip past known patterns. A clean result lowers the risk but does not prove a file is safe.
Why is it free and open source?
Checking a document for hidden content should not require trusting a stranger's server with your file. Keeping the tool free and open source means anyone can verify that it does what it claims and that nothing is uploaded. There is no account and no paywall. No third-party script runs on the page at all: the content security policy allows scripts from this domain and nothing else, which you can check in your browser's network tab.
Can I use it for résumés and papers?
Yes — those are two of the most common cases. You can check a résumé you received for hidden keywords, or scan an academic paper, contract, or report for text and instructions aimed at an AI reviewer or summarizer, all before you pass the file to any automated tool.