PDF to Markdown ConverterHeadings, Lists & Token Count

Drop in a PDF and get Markdown with headings and bullets, a token estimate, and optional splitting. Everything runs in your browser.

Your input is never sent anywhere.

Details

Drag and drop a PDF here

or

Why Convert a PDF to Markdown Before Pasting It Into an AI Chat

Copying text straight from a PDF viewer usually gives you a line break at the end of every printed line, repeated page headers, and page numbers in the middle of sentences. A chat assistant can still read it, but the structure is gone and the text takes extra tokens.

This tool reads the text inside the PDF, groups it into lines, and joins wrapped lines back into paragraphs. Lines set in a larger font become Markdown headings, and lines that start with a bullet or a number become list items. Repeated headers, footers, and page numbers can be removed, and words split by a hyphen at the end of a line can be joined.

The result comes with an estimated token count. If the text is too long for one message, split it into parts at paragraph breaks, then copy each part or download it as a .md file.

Common Uses: Papers, Manuals, and Long Reports

Summarizing a research paper

Convert the paper so the section titles show up as headings, then ask your AI assistant to summarize one section at a time. Check the preview first if the paper uses two columns.

Asking questions about a manual or spec sheet

Use the page range box to convert only the chapters you need, such as 12-30, so you do not spend tokens on the rest of the file.

Fitting a long report into a chat

Check the token estimate, turn on splitting, and paste the parts one after another. Each part ends at a paragraph break.

Saving a PDF as a Markdown note

Download the result as a .md file named after your PDF and open it in a notes app, a code editor, or any tool that reads Markdown.

How to Turn a PDF Into AI-Ready Text in 4 Steps

  1. Drag a PDF onto the drop zone, or click Choose a PDF. The conversion starts as soon as the file is read.
  2. Optional: enter a page range, switch header/footer removal, hyphen joining, or page markers on or off, then click Re-convert With These Settings.
  3. Look through the Markdown and Preview tabs, and check the detected headings list for anything missing or wrong.
  4. Check the token estimate. If the text is too long, turn on Split into parts, then copy each part or download it as a .md file.

Note: The PDF is read and converted in your browser. Your file is not uploaded.

Limits to Know Before You Paste

  • Scanned PDFs have no text to read. If no text is found, the tool shows a warning and no result.
  • Tables are not rebuilt as Markdown tables. Cells on the same row come out as one line of text.
  • Two-column pages can come out mixed, because text at the same height is read as one line. Images, charts, and diagrams are not read.
  • Headings are found by font size only. Bold headings in body-size text are not detected. A bullet item that wraps onto a second line may appear as a separate paragraph.
  • With header and footer removal on, any line that is only a number (up to 4 digits) is also removed, even if it was real content.
  • The token count is an estimate of about 1 token per 4 characters of English text. The real count depends on the model you use.
  • Large files take longer to convert, depending on your device and browser.

How Text Is Pulled Out of a PDF

A short look at what the tool does with the text in your file, and where the results can go wrong.

Why pasted PDF text has broken line breaks

A PDF stores each piece of text with a position on the page, not as paragraphs. Copying from a viewer tends to keep a line break at the end of every printed line.
This tool groups text with nearly the same vertical position into one line, sorts each line left to right, and then joins consecutive lines into a paragraph until a line ends with a period, question mark, exclamation mark, or colon.

How headings are detected

The tool measures the font size of every line and takes the most common size, weighted by amount of text, as the body size.
Lines at least 15% larger become headings. About 1.15x to 1.3x the body size gives ###, 1.3x to 1.6x gives ##, and 1.6x or more gives #. Consecutive heading lines of the same level are merged into one heading. If a file uses one font size throughout, no headings are found.

What does not convert

Only text stored in the PDF is read. Images, charts, and diagrams are skipped, and a scanned page has no text to read at all.
Tables are not rebuilt, and multi-column pages are not separated into columns. For these files, read the Preview tab before you send the text to an AI assistant.

Why Markdown works for AI chats

Markdown marks structure with a few plain characters, such as # for headings and - for list items. It stays readable as plain text, so you can paste it into any chat box or save it as a .md file.

Common Problems When Copying Text From a PDF

Every line ends in a hard line break

You copy a paragraph from a PDF viewer and paste it, and each printed line becomes its own line, so sentences are cut in the middle.

💡 See the solution▼
Convert the file here. Wrapped lines are joined into one paragraph until a line ends with sentence punctuation. If a paragraph still splits in the wrong place, fix it in the Markdown text.

Page headers and page numbers appear inside the text

A running title or a page number shows up between two paragraphs on every page, and the AI treats it as part of the content.

💡 See the solution▼
Keep Remove headers and footers switched on. It drops lines repeated at the top or bottom of the pages and lines that are only a page number. If content goes missing, switch it off and convert again.

Words are cut in half with a hyphen

A word that wrapped at the end of a line shows up as “inter-” and “national”, which looks like two odd words.

💡 See the solution▼
Keep Join hyphenated words on. When a line ends in a hyphen after a letter and the next line starts with a lowercase letter, the two parts are joined and the hyphen is dropped. Real compound words such as “well-known” can also lose their hyphen, so check them.

The result is empty for a scanned PDF

You upload a scan of a paper document and nothing useful comes out.

💡 See the solution▼
A scan is an image with no text inside. Run it through an OCR tool, save the output as a PDF with text, and convert that file here.

The pasted text is too long for the chat

The full text is longer than the AI can take in at once, so the message is rejected or the answer ignores the end.

💡 See the solution▼
Look at the token estimate. If it is too large for your model, turn on Split into parts, choose a size, and paste the parts one at a time.

FAQ: Scanned PDFs, Tables, Tokens, and Privacy

Q.Can it convert a scanned PDF or a PDF of photos?

Q.

A. No. The tool reads the text stored inside the PDF file. A scan is just a picture of a page, so there is no text to read. If no page contains any text, the tool shows a warning instead of a result. Run the file through an OCR tool first, then convert the result here.

Q.Does it handle two-column PDFs, like research papers?

Q.

A. Not well. The tool groups text into lines by vertical position. When both columns have text at the same height, they end up on the same line, so the two columns can be mixed together. Check the Preview tab before you paste. For columns that come out mixed, this tool has no setting that fixes it.

Q.Are tables converted to Markdown tables?

Q.

A. No. The tool does not build Markdown tables. Cells that sit on the same row are joined into one line of text, separated by spaces. If a table matters, check it in the Preview tab and rebuild it by hand.

Q.How does it decide what is a heading?

Q.

A. It finds the most common font size in the file, weighted by how much text uses it, and treats that as body text. A line set at least 15% larger becomes a heading: 15% or more is ###, 30% or more is ##, and 60% or more is #. Headings that use the same size as body text, such as bold-only headings, are not detected and come out as normal text.

Q.What are tokens, and why does the tool show a count?

Q.

A. AI chat tools read text in chunks called tokens, and each model can only take in a limited number at once. The tool estimates the count at about 1 token per 4 characters of English text, and more per character for other scripts. It is a rough guide. The real count depends on the model, so treat it as a sanity check, not an exact figure.

Q.Which AI models does the “Likely fits” check use?

Q.

A. None in particular. It compares your estimated token count with four round sizes: 32K, 128K, 200K, and 1M tokens. Look up the limit of the model you use and compare it yourself. Keep some room free for your prompt and the model's reply.

Q.How are repeated headers and footers removed?

Q.

A. The tool looks at the first and last line of every page. A line that repeats on at least 40% of the pages (rounded down, and never fewer than 2 pages) is removed from the top or bottom. Separately, any line that is only a number or looks like “Page 3 of 10” is removed. Turn the option off if real content disappears, for example a line that is just a year.

Q.How does splitting into parts work?

Q.

A. Turn on “Split into parts” and pick a size. The tool cuts the Markdown at paragraph breaks so that each part stays under that size. A single paragraph longer than the limit is kept whole, so that part can run over. Each part has its own Copy and Download .md buttons.

Q.Is my PDF uploaded anywhere?

Q.

A. No. The file is read and converted in your browser, and your PDF and the extracted text are not sent to our servers. The PDF reading library (PDF.js) loads its worker script from a public CDN the first time you use the tool, but that only downloads code and does not send your file.

User Feedback & Request

Your feedback
makes this tool better.

Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.

Send feedback