PDF table to Markdown

Financial statements, rate tables, spec sheets: the rows and columns come out as Markdown tables, with each table page flagged so you can check it against the original.

Drop PDFs here

Or paste one, or choose files. Up to 20 at a time, converted in this tab.

No file handy? Try

Your files are read in this browser tab and never uploaded.

How it finds tables

A PDF doesn't store tables. It stores pieces of text at positions on the page, and sometimes lines drawn between them. The converter rebuilds the grid from those two clues:

  • Ruled tables, with lines between rows or columns, are read from the lines themselves. These come out most reliably.
  • Tables without lines, where the columns are only aligned by spacing, are found from text that lines up into the same columns over several rows.

Each table becomes a Markdown table: a header row, a separator row, one line per row. The numbers are copied as text, exactly as printed, so $ 69,958 stays $ 69,958 and nothing is rounded or reformatted.

Check each table against the page

Tables are where any PDF converter is most likely to slip, so this one doesn't ask you to trust it. Every page with a table is listed under Pages to check with the label "table". Open it and the picture of the page sits next to its Markdown, so a shifted column or a missing row shows up in a few seconds.

Preview renders the tables as a reader would see them, which is easier to scan than the raw pipes in the Markdown tab.

What comes out right, and what may not

In the PDFIn the Markdown
Plain grid, one value per cellA clean Markdown table
Header row, or a header over two rowsKept as rows at the top of the table
Thousands separators, currency signs, minus signs in bracketsKept as printed
A number split by the PDF's spacing, such as 7,61 4Repaired to 7,614
Merged cells spanning columnsThe value lands in one cell; the others stay empty
Text that wraps onto two lines inside a cellUsually joined; sometimes split across two rows
A table that continues on the next pageTwo tables, one per page
A table in a scanned pageA table when the columns line up clearly; otherwise lines of text

Markdown itself has no merged cells, so a table with spans can only be approximated. If a table matters, give the flagged page a look.

Make tables smaller for an LLM

Tables are expensive in tokens: every cell is padded by pipes and spaces, and wide tables often carry empty columns that were only there for layout. Under Trim for LLMs, Compact tables drops the columns that are empty in every row and the padding around cells. The number next to the switch shows how many tokens that saves on your file.

For a model, a Markdown table keeps each value in line with its row label and under its column heading, which the same numbers flattened into lines of text lose.

Get a table into a spreadsheet

  • Copy from Preview. Select the rendered table in the Preview tab and paste it into Google Sheets or Excel. The cells stay cells.
  • Or keep it as Markdown. GitHub, Obsidian, Notion and VS Code all render pipe tables as they are.

Frequently asked questions

Can it convert only the page with the table?

Yes. Under Output, type the page or a range such as 4-6 in Pages, then Apply. Only those pages are converted.

Why is my table missing?

Most often the page is a scan, so there's no text to arrange into a grid, or the table is a picture placed inside the PDF. A scanned page is read with OCR, and its table is rebuilt when the columns line up clearly. A picture of a table inside a text PDF stays a picture.

Why are some cells shifted?

Without ruling lines, the converter infers columns from how the text lines up. A value printed slightly off its column, or a long label spilling into the next column, can land in the wrong cell. Those pages are flagged as tables, so you'll know where to look.

Does it keep formatting such as bold totals?

Bold inside cells is kept as **bold**. Colors, shading and borders aren't, since Markdown has no way to say them.