Turn documents into the formats language models read best — Markdown, plain text, JSON and CSV — without uploading anything. Every conversion below runs in your browser. The short version: Markdown when the document has structure worth keeping, plain text when it does not, and CSV or JSON for anything tabular.
The first step for anything scanned or photographed.
Which format, and why
There is a real answer to this and it is shorter than most articles about it.
Markdown — when the document has headings, lists or tables that carry meaning. A
contract, a handbook, a report, a specification. The structure gives the model something to navigate and
cite, and it costs very little except on tables.
Plain text — when the document is prose and nothing else. A letter, an article, a
transcript. Markdown adds nothing because there is no structure to preserve.
CSV or JSON — for anything that is really data. Do not convert a spreadsheet to
Markdown; convert it to CSV, or to JSON if you want each row labelled with its field names, which is what
stops a model losing track of which column it is reading.
OCR first — if the source is a scan or a photograph, none of the above applies
until the words exist as text. That is what Image to Text is for.
What Markdown actually costs, measured
“Use Markdown for AI” is repeated everywhere and almost never quantified. We measured our own
converter's output against a plain-text dump of the same PDF, counting with the tokeniser the GPT models use:
What the page holds
Plain text
Markdown
Difference
Prose only
53 tokens
52 tokens
1.9% cheaper
Headings and lists
57 tokens
60 tokens
+5.3%
A table
35 tokens
59 tokens
+68.6%
All three together
146 tokens
172 tokens
+17.8%
Those are token counts from our own converter, on a PDF we built for the purpose, measured with the same tokeniser the GPT models use. The pattern is the useful part, and it is not the one usually quoted:
On prose, Markdown is free. It came out 1.9% cheaper than the plain-text dump of the same page, because joining wrapped lines back into paragraphs saves about as much as the heading marks cost.
On headings and lists, near enough free — +5.3% for structure a model can navigate.
On tables it is expensive — +68.6%, all of it pipes and the separator row. And it is the one case where you have no choice, because plain text loses which number sits under which heading.
So the common advice is right about tables and roughly irrelevant about prose — and the table case is
the one where you had no real alternative anyway, because plain text loses which number sits under which
column. If you are trying to fit a long prose document into a context window, converting it to Markdown will
not save you; shortening it will.
Why the no-upload part matters more here
The documents people prepare for an AI tool are disproportionately the sensitive ones — contracts under
NDA, board papers, medical letters, HR files, unpublished research. The usual advice is to be careful what you
paste into a chatbot, and then people run the file through a conversion site that keeps a copy on its server
on the way.
Every converter linked here runs in your browser. The file is read by JavaScript in your own tab and the
result is handed back as a download; there is no request carrying your content, so there is no copy to delete
afterwards and no retention policy to read. You can confirm it in about thirty seconds with your browser's
Network tab open.
What conversion does not solve
Worth saying, because a page like this could easily imply otherwise. Getting the format right removes a
failure mode; it does not make a model understand a document. The things that actually go wrong with long
documents — the model answering from the wrong section, missing something in the middle, inventing a
figure that looks like the ones around it — are not fixed by Markdown. What conversion buys you is that
the table still has columns and the headings still mark sections, so when you ask about section 4 there is a
section 4 to find.
Frequently Asked Questions
Convert it to Markdown if it has headings, lists or tables worth keeping, to plain text if it is only prose, and to CSV or JSON if it is really data. If it is a scan or a photo, run OCR first so the words exist as text at all. All of those conversions run in your browser here, so the file is not uploaded.
Markdown for structured documents, plain text for prose, CSV or JSON for tabular data. There is no single best format — it depends on what the document holds. Markdown wins where structure carries meaning, and buys you nothing on a document that is just paragraphs.
No — it usually increases it slightly, which is the opposite of what is often claimed. We measured our own converter: prose came out 1.9% cheaper than plain text, headings and lists +5.3%, and a table +68.6%. Markdown is worth using for the structure it preserves, not to save tokens. To fit a long document in a context window, shorten it.
To most converters, no — the file goes to their server and you are trusting a retention policy you have not read. These converters do not upload anything: the file is read and converted by JavaScript in your own browser tab. You can verify it with the Network tab open, which takes about thirty seconds.
Because a Markdown table is padding around values a model still has to parse, while CSV is the values and nothing else. Use JSON instead if you want each row labelled with its field names, which is what keeps a model from losing track of which column it is reading halfway down a long table.
It removes one failure mode rather than improving comprehension. If a table arrives as a run-on line, no model can tell which number belongs to which column, and converting properly fixes exactly that. It will not stop a model answering from the wrong section or inventing a figure — those are different problems and no file format solves them.