Chat with PDF — Ask Questions About a Document
Ask a question about a PDF and get an answer drawn only from the document.
Before you use this: These AI tools run on a free Cloudflare allowance, so they are limited to 5 requests per person per day. Every other tool on this site is unlimited — the difference is that those run entirely on your device, while this one needs a server.
Result
How to use this tool
- Select your file, drag it onto the box above.
- Processing starts automatically — there is nothing to configure.
- Check the result panel, which shows the original size, the final size and the page count.
- Click Download to save it.
One question at a time rather than an ongoing conversation — that keeps it inside the free allowance. The model is instructed to answer only from the document and to say when something is not stated, rather than guessing.
Chat with PDF — Ask Questions About a Document — the specification
| Input | A PDF plus your question |
|---|---|
| Answer source | The document only |
| If not stated | Says so rather than guessing |
| Text sent | Up to 6,000 characters |
| Limit | 5 per day per person |
How it works
This is the one part of the site that needs a server. A language model cannot run in a browser at usable speed, so your text is sent to a small Cloudflare Worker, processed at the edge, and returned. The file — where there is one — never leaves your device; only text does.
How it is kept safe and free: there is no API key anywhere, because Cloudflare's AI is bound directly to the Worker rather than authenticated with a token that could be stolen from the page. The prompts live on the server, not in your browser, so the endpoint cannot be repurposed as somebody's free chatbot. An invisible human check and a per-person daily cap keep the shared free allowance available to actual visitors.
Nothing you send is stored, logged, or used for training.
What this page sends, and what the model is told
Every other tool on this site publishes a measured run, because every other tool runs on your device and anyone can reproduce the numbers. This one sends text to a server, and a language model does not give the same answer twice — so printing one response here and calling it a measurement would be dishonest. What can be published exactly is the contract: what leaves your browser, and what the model is told to do with it.
Step one, measured: the text comes out on your device
This part is reproducible, so it is measured rather than described. The reference document below was put through this page in a browser, with the outbound AI request switched off, to record what the extraction step alone produces.
| File given to the page | 5.6 KB, 3 pages |
|---|---|
| Text pdf.js extracted | 3,879 characters, 660 words |
| Of the 6,000-character budget | 65% used |
| Bytes of the PDF uploaded | none — the file object never leaves the page |
The word count out matches the word count in exactly, which is the useful check: nothing was dropped and nothing was added. Elapsed time is deliberately not quoted — almost all of it was the one-off download of the pdf.js module, and it varied by a factor of two between runs, so a figure here would say more about the test machine than the tool.
If your own PDF is a scan, this step finds nothing, because scanned pages are images with no text layer. The page tells you that instead of sending an empty request.
Step two: exactly what is sent
One HTTPS POST, with this body and nothing else. No file, no cookie, no account, no identifier for you:
{
"task": "pdf-ask",
"text": "<text extracted from your PDF>",
"question": "What is the notice period?",
"turnstile": "<one-time human-check token>"
}
Note what is not in there: the prompt. The browser sends a task name, never an instruction. That is what stops the endpoint being repurposed as somebody else’s free chatbot, and it is why there is no API key anywhere in this page’s source for you to find.
Step three: exactly what the model is told
The server holds the prompt. This is it, verbatim, for this page:
You answer questions using only the document provided. If the answer is not in the document, say "That is not stated in this document" rather than guessing. Quote the relevant wording where useful.
And the message your text is wrapped in:
Document: <text extracted from your PDF> Question: What is the notice period?
The limits, as the server enforces them
| Model | @cf/meta/llama-4-scout-17b-16e-instruct, on Cloudflare Workers AI |
|---|---|
| Longest text accepted | 6,000 characters — longer is refused, not silently truncated |
| Longest reply generated | 600 tokens |
| Per person, per day | 5 requests, resetting at midnight UTC |
| Whole site, per day | 280 requests, after which the tool stops rather than starts costing money |
| Accepted from | https://onlineaitool.com and https://www.onlineaitool.com only |
Why you should still read the output. The prompt above tells the model not to invent facts, and that instruction helps. It is not a guarantee. Treat what comes back as a draft to check against what you actually know — particularly for anything with a date, a figure or a name in it.
Who needs Chat with PDF — Ask Questions About a Document
Finding a specific clause in a contract, a figure in a report, or a date in a policy without reading the whole thing.
Chat with PDF — Ask Questions About a Document — frequently asked questions
Why one question at a time?
A running conversation resends the whole document with every message, which would exhaust the free daily allowance very quickly. One question, one answer keeps the tool available for everyone.
Can it answer about a long document?
Only the first ~6,000 characters are sent. If your answer lives on page 30, extract that section and paste it in instead.
Should I rely on the answer?
Verify it against the document. The model is told to quote the relevant wording — check that quote is really there before acting on anything important.
Is my text sent to a server?
Yes — and this is the one part of the site where that is true. AI needs a model that cannot run in a browser, so your text goes to a Cloudflare Worker, is processed, and comes straight back. It is not stored, not logged, and not used for training. If that matters for your document, use the tools that run fully on your device instead.
Why only 5 uses a day?
The AI runs on Cloudflare's free tier, which gives the whole site a fixed daily allowance. Without a per-person cap, one script could drain it before breakfast and nobody else would get to use it. The limit resets at midnight UTC.
Can I trust the output?
Read it before you use it. Language models produce fluent text that can still be wrong, and they occasionally invent detail. The prompts here explicitly instruct the model not to add facts you did not provide, but treat every result as a first draft to check, not a finished document.
Related tools
From other categories
Background reading: Every PDF Tool You Need, and When to Use Each
Your file never leaves your device. Open your browser's Network tab while you use this page and you will see no upload — how that works.
Disclaimer. AI output is a draft, not a fact-check. Read it before you use it, and never let it invent an employer, a qualification or a number you cannot stand behind. Full disclaimer.