Back to the PDF to Markdown guide
Field guide · PDF tables

PDF tables to Markdown without losing the meaning

A reliable table conversion preserves which value belongs to which header. Borders that look right are not enough. This guide shows when GFM is suitable, when to keep HTML or JSON, and what to verify against the PDF.

Short answer: Use a GFM pipe table only when every row has one stable value per column. If the PDF contains merged cells, multi-row headers, footnotes inside cells, or a table that continues across pages, keep a structured companion export and review the source before publishing.

What Markdown tables can actually represent

The GitHub Flavored Markdown specification defines a table as one header row, one delimiter row, and zero or more body rows separated by pipes. It does not define row spans or column spans. That makes simple grids portable, but it also means a visually faithful conversion can still attach a number to the wrong header.

PDF structureSafe Markdown choiceReview required
Single header, rectangular rowsGFM pipe tableCheck row and column count
Merged cells or multi-row headersHTML or structured JSON companionRebuild header relationships
Table continues on the next pageOne logical table plus page notesRemove repeated headers carefully
Cell footnotes or formulasMarkdown table plus notes belowVerify every marker and symbol

A five-minute verification pass

  • Count the columns in the original header and in the Markdown delimiter row.
  • Check the first row, one middle row, and the last row on every source page.
  • Search for merged labels, indentation, ditto marks, and blank cells that carry meaning.
  • Join cross-page tables only after confirming that units and column order stay unchanged.
  • Keep the original page number beside any value that will be quoted, calculated, or fed into another system.
Simple GFM table
| Metric | 2025 | 2026 |
| --- | ---: | ---: |
| Revenue | 120 | 136 |

How pdfmd handles the workflow

pdfmd first analyzes the PDF in the browser, then sends a text PDF to Cloudflare conversion or renders a fully scanned PDF for Moondream OCR. The result can be exported as clean Markdown or with source metadata. A text-PDF page costs 1 point; a scanned page costs 4 points; failed conversions cost 0 points.

Conversion is a first draft, not a table auditor. Source-map JSON preserves only metadata the provider actually returned; it does not prove that a merged header was reconstructed correctly. Review the financial-statement sample or your own PDF before using extracted numbers.

Official sources and evidence boundary

These links support format and platform behavior. pdfmd processing and point costs are governed by this site's pricing and privacy pages.

Keep the review checklist

Download the Markdown checklist and reuse it next time. Export-format changes are recorded in the public changelog.

Download checklistView changelog

Frequently asked questions

Can Markdown preserve merged PDF cells?

No. GFM tables have no rowspan or colspan. Use HTML or a structured companion export and explain the relationship in text.

Should repeated headers on a second PDF page be deleted?

Only after confirming that the second page continues the same table with the same units and column order.

Does source-map JSON prove that a table is correct?

No. It records available page, block, method, offset, and confidence evidence; it does not validate header-to-value relationships.

How much does PDF table conversion cost?

A completed text-PDF page uses 1 point. A completed scanned page routed through OCR uses 4 points. Failed conversions use 0 points.

Convert, then audit the risky rows

Read the checklist first. When you are ready to process a real file, Google sign-in and spendable page points unlock cloud PDF conversion.

Open PDF converter