Skip to main content

PDF AI Detection Was this PDF made by an AI tool?

Reads how the file was made, not the words, and explains every clue. A clue is not proof.

Drop your PDF here

or click to browse

PDF files up to 50 MB

Analyzing PDF...

Extracting metadata

Analysis Complete!

Looks for active content such as JavaScript and embedded files, and compares the file fingerprint with a public file reputation service.

Runs when you analyze this PDF.

Included in Pro and AI. Choose Pro →
Unlimited safety scans included 0 of 0 scans left today
You've used today's safety scans. Upgrade to Pro for 50 scans every day. Your daily scans reset tomorrow. Get 50 a day →

Sample report

Indicator Score

Indicator Level

Pages

Size

Software Check

Generator Fingerprints
Creator
Producer
View Full Report

AI Detection Preview

Upload a PDF to see AI detection results here

This reads metadata, not writing style. A Word export of AI text shows no indicators, and plenty of people use these libraries without AI.

  • App and library that built the file
  • Software AI tools use to build PDFs
  • A score you can read line by line

AI Detection Results

Full Report

AI Indicator Result

Strong Indicators Some Indicators Few Indicators No Indicators

Indicator Score

Document Information

Filename
Author
Created
Pages

Software Details

Creator
Producer
PDF Version
Encrypted

Metadata Indicators

What's Next?

Can you tell if an AI tool made a PDF?

Sometimes, but only from clues in the file. This check reads the two hidden "made with" details a PDF stores and looks for software that AI tools often use, such as the ReportLab code library. A ReportLab file with no author or title scored 55 out of 100. It never reads the writing, so a clue is not proof.

How do I check if a PDF was made by ChatGPT?

Upload it and look at the score and the software it names. AI assistants often build PDFs with code libraries that write their own name into the file, and each match adds points. Text written by AI, pasted into a word processor and exported normally, scores 0. A low score proves nothing either way.

Can a normal PDF be flagged as AI-made?

Yes. Many ordinary systems use the same software: invoicing platforms, reporting servers and web apps all build PDFs this way. Our test invoice from headless Chrome, with a title but no author, scored 30, which is enough to count as having indicators. Treat a high score as a reason to ask how the file was made.

Does this check the writing style?

No. Only the two "made with" fields are read. Page text, fonts, images and writing style play no part in the score. To judge the writing itself, extract the text and read it.

Where the points come from

The detector reads only two metadata fields, Creator and Producer, preferring their XMP versions when present. It joins them, lowercases the text and looks for every name in its software catalogue as a plain substring. Each catalogue entry that carries an AI association adds points. Two further rules apply only when at least one point has already been scored: a missing Author adds 10 and a missing Title adds 5. A handful of words in the two fields add a few points regardless.

Point values used by the detector
Rule Points Catalogue names or words involved
High-association generator 40 each ReportLab, PyPDF, PyPDF2, pdfplumber, WeasyPrint, pdf-lib, PDFKit, Puppeteer, Playwright; also the words OpenAI, Anthropic, Claude, ChatGPT, GPT, Gemini, Bard, Copilot
Medium-association generator 20 each FPDF, FPDF2, jsPDF, Headless Chrome
Low-association generator 10 each pdfmake, wkhtmltopdf
Author field empty 10 Only when the score is already above zero
Title field empty 5 Only when the score is already above zero
Words in Creator or Producer 5 or 10 python 5, script 5, api 5, automated 10, generated 10

From score to level

The total is capped at 100. A score of 0 is reported as No Indicators, 1 to 24 as Few Indicators, 25 to 49 as Some Indicators and 50 or more as Strong Indicators. From 25 upwards the file is counted as having AI-generator indicators, which also adds a warning to the screening checks and caps the full report's Document health number at 65. The score is a count of matched clues, not a probability that a person or a model wrote anything.

Worked example: a file whose producer names ReportLab

Producer: ReportLab PDF Library - www.reportlab.com Creator, Author, Title: empty ReportLab matched (high) +40 Author empty, score above zero +10 Title empty, score above zero +5 Total 55 -> Strong Indicators Summary returned: "Strong AI-generator indicators (risk score 55/100). Created using ReportLab, which AI assistants often use. This is not proof the content was written by AI."

Measured scores for common producer strings

The same producer can score differently depending on whether the file also has an author and a title. Both cases are shown.

Detector output for test creator and producer values
Creator / Producer text tested With author and title Without author and title
Microsoft Word / Microsoft: Print To PDF 0, none 0, none
Writer / LibreOffice 24.2 0, none 0, none
LaTeX with hyperref / pdfTeX-1.40.25 0, none 0, none
TCPDF 6.7.5 (http://www.tcpdf.org) 0, none 0, none
GPL Ghostscript 10.08.0 5, few 5, few
FPDF 1.86 20, few 35, some
wkhtmltopdf 0.12.6 / Qt 4.8.7 10, few 25, some
WeasyPrint 61.2 40, some 55, strong
pdf-lib (https://github.com/Hopding/pdf-lib) 40, some 55, strong
PyPDF2 80, strong 95, strong

Why some results can be wrong

  • Overlapping names count twice. PyPDF2 contains pypdf, so it matches both the PyPDF and PyPDF2 entries: 40 + 40, plus 15 for the empty author and title, gives 95.
  • Words inside longer words count. Ghostscript's producer earns 5 points because "Ghostscript" contains "script".
  • A name anywhere in either field counts, including a custom producer such as "Report generated by API", which scored 15 from the words "generated" and "api" alone.
  • Only the two fields are read. Page text, fonts, images and writing style play no part in the score.

False positives and false negatives

Many ordinary systems use the flagged libraries. Invoicing platforms render bills with headless Chrome, reporting servers use ReportLab or WeasyPrint, and web apps assemble PDFs with pdf-lib. Our test invoice with a HeadlessChrome creator, a Skia/PDF producer and a title but no author scored 30, which is enough to be counted as having indicators even though nothing about it involves a language model.

The opposite also happens. Text written by an AI assistant, pasted into a word processor and exported normally carries that word processor's name and scores 0. Metadata can be removed or retyped in seconds. A score of 0 says the generator fields hold no known clue; it says nothing about who wrote the words.

Using the result responsibly

Treat a high score as a prompt to ask how the document was produced, not as an accusation. The most useful evidence is usually outside the file: the workflow the sender says they used, earlier drafts, or version history in the system the document came from. If you need to assess the writing itself, extract the text and read it; this detector does not attempt that.

Last updated . Weights and thresholds are taken from the detector's source code. Scores in the tables were produced on 12 October 2026 by running the detector locally on synthetic PDFs and on typed-in creator and producer strings; the strings are test inputs, not values read from files made by those products.

Do more with a free account

Keep your report history, share reports by link, check several PDFs at once and use the API.