Blog

Convert PDF to Text for an LLM Prompt

CeamKrier
TL;DRthe short version
  • Drop the PDFs, or the folder holding them, on fileconcat.com: the text comes out as one file, in reading order, extracted in your browser.
  • A scanned page holds no text to pull. Since 2026-10-07 every such page, in a scanned or a partly scanned PDF, gets a recognition pass in the browser, started on its own for up to three documents and 8 MB per drop, and the result names which files were read that way.
  • Two of our own PDF defects were open at the last re-test and are named below: a superscript footnote marker sorting above its line, and an image-only page dropped without a note. The second is read by recognition since 2026-10-07.
  • Nothing is uploaded to us.

Research and casework rarely arrive as one clean file. You have a handful of PDFs, a Word document of notes, maybe a spreadsheet of figures, and you want to ask a model about all of them together. The chat box only takes text, and a PDF is not text yet.

This guide covers how to convert PDFs to text for an LLM prompt: why the file you drag in is not the text the model reads, how to turn a whole folder of documents into one blob, and where the limits are. There is a spot to try it on your own documents partway down. Nothing is uploaded to us; the extraction runs in your browser.

01 of 5

A PDF is not text yet

A PDF, a Word document, or a slide deck is a container. The words are in there, but they are wrapped in layout, fonts, and positioning that a prompt cannot read directly. Before any of it can go into ChatGPT or Claude, the text has to be pulled out of the container.

FileConcat does that extraction for PDFs, Word documents, spreadsheets, and slide decks, then folds the recovered text into one bundle alongside any plain notes or markdown you drop in. Several formats go in; one clean text file comes out.

what you dragged in
case-notes/
motion.pdf
exhibits.docx
timeline.xlsx
memo.md
one prompt-ready blob
~18,400 tokens
combined.txt
motion.pdf      (text)
exhibits.docx   (text)
timeline.xlsx   (text)
memo.md

Where the extraction happens

The document bytes are read and the text is pulled out in your browser tab. The files are never uploaded to us, and there is no account. What you do with the extracted text after you paste it into ChatGPT or Claude is between you and them.

02 of 5

Drop a whole folder of documents

You do not have to convert each file one at a time. Give ChatGPT a whole folder of documents by dropping the folder here, and FileConcat extracts every readable one and combines the multiple PDFs into one text file for ChatGPT or Claude in a single pass. If the folder also carries the usual junk, the default filter skips it before it reaches the bundle.

  1. 1

    Drop your documents

    A folder or a loose handful works. PDFs, Word documents, spreadsheets, slide decks, and plain text or markdown all go in together.

  2. 2

    The text is extracted in your browser

    Each document is opened and its text pulled out on your machine. Nothing is uploaded to do it.

  3. 3

    Copy one bundle

    You get a single document with each file labeled by name, plus a live token count so you know it fits before you paste it.

03 of 5

Try it on your own documents

Drop a few PDFs or a folder of mixed documents below. It runs in your browser, there is no account, and nothing is uploaded to us. This is the same engine as the full tool, so what you copy here is ready to paste when you want to feed multiple PDFs to ChatGPT at once.

Bundle your own documents

Drop a few PDFs or a folder of mixed documents. It runs here in your browser, nothing is uploaded.

04 of 5

What extraction can and cannot pull

Extraction works on the text a document actually stores. A PDF exported from a word processor, a Word file, a slide deck: those carry their text, and it comes out clean.

A scanned page is different. If a PDF is really a photograph of a page, there is no text inside it to pull, only an image. Reading words off an image takes recognition, and for every page that comes back with nothing FileConcat runs a recognition pass in your browser and tells you which files it recovered that way. Up to three such documents and 8 MB per drop it starts on its own; past that it asks first. Encrypted or password-locked PDFs are the other story: locked bytes yield no text, and no amount of recognition changes that.

None of that is taken on trust. We built a set of documents designed to break our own extraction and have re-tested against it four times: of the sixteen defects found so far, seven were in PDF handling, five of those are fixed, and two are still open. The two that remain are a superscript footnote marker sorting above its own line, and a page with no text layer being dropped without a note. Since 2026-10-07 such a page is listed and read by recognition; the next re-test will say how well.

A scan takes longer, and not every one comes back

Recognition reads pixels rather than characters, so it costs seconds per page and it is not perfect on a faint or crooked scan. A document it cannot read at all is flagged as having no extractable text rather than dropped silently. A document that is only partly scanned was the gap until 2026-10-07: its image-only pages were lost without a note, which we measured and published along with the rest of what survives conversion. Those pages are now read by recognition like a scanned document. Your file still never leaves the browser; the recognition engine itself is fetched from the library's CDN the first time it runs, which the privacy page sets out in full.

05 of 5

Mind the token and cost budget

Documents add up faster than they look. A few long PDFs can run past a model's context window, and if you are paying per token, a bundle you paste a dozen times is a real line item. This is where a stack of case files or a pile of research papers gets expensive without warning.

FileConcat counts tokens as you add and remove files, and it can show the cost for a given model, so you can trim to what matters first. That helps when you want to summarize multiple research papers with ChatGPT and only a few of them hold the section you actually care about.

Two things move when the bundle grows, and only one of them is the bill. Input is priced per million tokens, so the cost is exactly linear: doubling the documents doubles what the send costs, every time, and a model having room to spare is not a discount. The second is accuracy. Published sweeps find retrieval degrading as the input gets longer, which means the last stretch of a window is not free even when you can afford it. We priced the first half across the whole model catalogue in what it costs to fill a context window, and the sources for the second half are cited there.

Tip

One format in particular? Word documents and spreadsheets each have their own traps. Combining loose files or a whole code project instead? The guide to combining files and feeding a codebase to an LLM cover those. To size a set of documents before you send it, see how the token count works and what a bundle costs across models.