PDF Table Extractor
Upload a PDF or paste a link to extract its tables. Each table comes back as a Markdown table that you can copy or download as CSV, rebuilt by the open-source Docling engine. Scanned pages get OCR.
Extract the tables from your PDF
Paste a PDF URL or upload a PDF. Each table on page 1 shows up below the Markdown preview, ready to copy or download as CSV. No account needed.
Preview mode parses page 1 only.
We’ll fetch the PDF and return Markdown for the first page only.
Page 1 Markdown will appear here
No signup required · PDF only · Page 1 preview only
Extract tables from every page with the API
Get an API key and convert whole PDFs up to 50 MB. New accounts start with 50 free pages, no credit card.
Example: a dense government table
This one-page PDF is Table 1 of the US Energy Information Administration's Short-Term Energy Outlook for October 2026. It has year and quarter headers over 15 numeric columns, and row labels that wrap onto two lines. We ran it through the free preview this page uses on October 26, 2026. This is the unedited result.
Found 1 table on page 1.
Table 128 rows × 16 columns
| 2025 | 2025 | 2025 | 2025 | 2026 | 2026 | 2026 | 2026 | 2027 | 2027 | 2027 | 2027 | Year | Year | Year | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Q1 | Q2 | Q3 | Q4 | Q1 | Q2 | Q3 | Q4 | Q1 | Q2 | Q3 | Q4 | 2025 | 2026 | 2027 | |
| Energy Production | |||||||||||||||
| Crude Oil Production (a) (million barrels per day) ........................ | 13.32 | 13.58 | 13.82 | 13.91 | 13.58 | 13.88 | 13.95 | 14.05 | 14.13 | 14.26 | 14.32 | 14.50 | 13.66 | 13.87 | 14.30 |
| Dry Natural Gas Production (billion cubic feet per day) ..................... | 105.5 | 106.9 | 108.3 | 109.7 | 110.0 | 111.3 | 113.6 | 113.8 | 114.5 | 115.7 | 116.4 | 117.8 | 107.6 | 112.2 | 116.1 |
| Coal Production (million short tons) ................................. | 132 | 128 | 136 | 132 | 132 | 125 | 131 | 133 | 132 | 123 | 132 | 127 | 528 | 521 | 514 |
| Energy Consumption | |||||||||||||||
| Liquid Fuels (million barrels per day) ........................ | 20.38 | 20.68 | 21.09 | 20.78 | 20.71 | 20.53 | 20.61 | 20.54 | 20.41 | 20.78 | 21.13 | 20.92 | 20.74 | 20.60 | 20.81 |
| Natural Gas (billion cubic feet per day) ..................... | 110.1 | 78.1 | 84.6 | 94.8 | 107.6 | 79.0 | 87.6 | 95.4 | 108.4 | 81.1 | 88.7 | 97.3 | 91.9 | 92.4 | 93.8 |
| Coal (b) (million short tons) ................................. | 118 | 99 | 127 | 108 | 105 | 88 | 128 | 103 | 101 | 87 | 121 | 95 | 452 | 424 | 405 |
| Electricity (billion kilowatt hours per day) ............... | 11.38 | 10.96 | 12.85 | 10.78 | 11.41 | 11.17 | 13.42 | 10.98 | 11.51 | 11.46 | 13.59 | 11.17 | 11.49 | 11.75 | 11.94 |
| Renewables (c) (quadrillion Btu) ..................................... | 2.16 | 2.29 | 2.18 | 2.19 | 2.25 | 2.44 | 2.36 | 2.31 | 2.40 | 2.63 | 2.53 | 2.45 | 8.82 | 9.36 | 10.02 |
| Total Energy Consumption (d) (quadrillion Btu) ..................................... | 25.45 | 22.51 | 24.12 | 24.39 | 25.19 | 22.45 | 24.29 | 24.25 | 25.09 | 22.82 | 24.60 | 24.54 | 96.47 | 96.18 | 97.05 |
| Energy Prices | |||||||||||||||
| Crude Oil West Texas Intermediate Spot (dollars per barrel) ................................. | 71.85 | 64.63 | 65.78 | 59.64 | 72.74 | 95.48 | 87.02 | 97.00 | 90.90 | 83.00 | 76.03 | 69.94 | 65.40 | 88.21 | 79.74 |
| Natural Gas Henry Hub Spot (dollars per million Btu) ......................... | 4.15 | 3.19 | 3.03 | 3.75 | 4.79 | 2.95 | 2.87 | 3.30 | 3.47 | 2.64 | 3.04 | 3.49 | 3.53 | 3.48 | 3.16 |
| Coal (dollars per million Btu) ......................... | 2.43 | 2.48 | 2.41 | 2.39 | 2.42 | 2.46 | 2.48 | 2.46 | 2.48 | 2.48 | 2.46 | 2.44 | 2.42 | 2.45 | 2.46 |
| Macroeconomic | |||||||||||||||
| Real Gross Domestic Product (billion chained 2017 dollars - SAAR) ... | 23,548 | 23,771 | 24,027 | 24,056 | 24,180 | 24,270 | 24,429 | 24,556 | 24,701 | 24,899 | 25,083 | 25,249 | 23,850 | 24,359 | 24,983 |
| Percent change from prior year ............ | 2.0 | 2.1 | 2.3 | 2.0 | 2.7 | 2.1 | 1.7 | 2.1 | 2.2 | 2.6 | 2.7 | 2.8 | 2.1 | 2.1 | 2.6 |
| GDP Implicit Price Deflator (Index, 2017=100) ................................. | 127.6 | 128.3 | 129.5 | 130.6 | 131.8 | 133.9 | 134.3 | 135.2 | 135.7 | 136.3 | 136.9 | 137.6 | 129.0 | 133.8 | 136.6 |
| Percent change from prior year ............ | 2.6 | 2.5 | 3.0 | 3.3 | 3.3 | 4.4 | 3.8 | 3.5 | 2.9 | 1.8 | 1.9 | 1.8 | 2.8 | 3.7 | 2.1 |
| Real Disposable Personal Income (billion chained 2017 dollars - SAAR) ... | 17,943 | 18,025 | 18,071 | 18,030 | 18,072 | 18,004 | 18,142 | 18,242 | 18,423 | 18,596 | 18,773 | 18,940 | 18,017 | 18,115 | 18,683 |
| Percent change from prior year ............ | 2.0 | 1.8 | 1.8 | 1.0 | 0.7 | -0.1 | 0.4 | 1.2 | 1.9 | 3.3 | 3.5 | 3.8 | 1.7 | 0.5 | 3.1 |
| Manufacturing Production Index (Index, 2017=100) ................................. | 96.7 | 97.4 | 98.1 | 97.1 | 97.6 | 99.0 | 99.4 | 99.9 | 100.1 | 101.0 | 102.0 | 102.6 | 97.3 | 99.0 | 101.4 |
| Percent change from prior year ............ | 0.1 | 0.5 | 1.8 | 1.4 | 1.0 | 1.7 | 1.4 | 2.9 | 2.5 | 2.0 | 2.6 | 2.7 | 1.0 | 1.7 | 2.4 |
| Weather | |||||||||||||||
| U.S. Heating Degree-Days ................... U.S. Cooling Degree-Days .................... | 2,104 53 | 436 464 | 55 902 | 1,429 120 | 1,932 83 | 403 447 | 53 1,027 | 1,429 107 | 1,962 52 | 463 454 | 73 985 | 1,424 108 | 4,023 1,540 | 3,818 1,663 | 3,922 1,598 |
We checked every row against the PDF's text layer. 20 of the 22 data rows came out with all 15 values in the right columns, and each two-line row label stayed with its values. The last two rows, heating and cooling degree-days, were merged into one row with two numbers in each cell, so check rows like these before you rely on them.
In our Docling vs MarkItDown test, MarkItDown, which converts PDFs by extracting their text, returned no table for this same page. It listed every row label first and then every number on its own line, so the values could no longer be matched to their rows:
Crude Oil Production (a)
(million barrels per day) ........................
Dry Natural Gas Production
(billion cubic feet per day) .....................
...
13.32
13.58
13.82Results depend on the document. In our Docling vs PyMuPDF4LLM test, PyMuPDF4LLM got the tables in a research paper right, while Docling shifted a column and merged two rows in one of them. The tested roundup of PDF to Markdown converters compares five tools on the same table.
How the extractor reads tables
Parsebridge runs Docling, which analyzes the page layout before it writes Markdown. The CSV comes from that Markdown.
A table model rebuilds rows and columns
Docling's layout model finds each table on the page, and its TableFormer model works out the rows, columns and header cells. Parsebridge runs TableFormer in accurate mode, the more precise of its two settings.
Spanning header cells get repeated
Markdown and CSV have no merged cells, so a cell that spans several columns or rows is repeated in each one it covers. In the example above, 2025 sits over each of its four quarter columns, which gives every CSV column a label.
Scanned tables get OCR
If page 1 draws an image but has little or no embedded text, OCR runs before the table model, so a table in a scan also comes out as a Markdown table. Digital PDFs skip OCR and use the embedded text.
CSV is built in your browser
The CSV buttons convert the Markdown table on your device. Escaped pipes and HTML entities in cells are decoded, and fields with commas or quotes are wrapped in double quotes as RFC 4180 describes. Text that starts with =, +, - or @ and isn't a number gets a leading apostrophe, so a spreadsheet doesn't run it as a formula.
How to extract tables from a PDF
- 1
Add your PDF
Paste a public HTTPS link to a PDF or drop a PDF file up to 10 MB into the extractor above.
- 2
Wait for page 1
Parsebridge copies the first page and converts it with Docling. Scanned pages take longer because OCR runs.
- 3
Check each table
Every table Docling found on the page is listed under the Markdown preview, with its number of rows and columns.
- 4
Copy or download
Copy CSV to paste into a spreadsheet, Download CSV to save a .csv file, or Copy Markdown for docs and prompts.
Extract tables from whole PDFs with the API
The API runs the same conversion on every page and returns JSON with the Markdown in content. Tables are Markdown pipe tables, so a few lines of code turn them into CSV files.
- PDFs up to 50 MB
- The API converts every page, and every table Docling detects comes back as a Markdown table.
- 1 page = 1 page of your allowance
- The API returns a 402 error when your remaining pages don't cover the document.
- Upload a file or send a URL
- To send a URL, post
{"url": "..."}to/v1/parse/url.
Keep your API key server-side. See the API docs and the hosted Docling API page for details.
curl -s https://api.parsebridge.com/v1/parse/document \
-H "Authorization: Bearer $PARSEBRIDGE_API_KEY" \
-F "file=@report.pdf" \
| jq -r .content > report.md
# Table rows are the lines that start with a pipe
grep '^|' report.mdFrequently asked questions
Is this PDF table extractor free?
Yes. The extractor on this page is free and needs no account. It reads the first page of each PDF, and each IP address can send 5 requests per hour. To extract tables from full documents, create an account. New accounts get 50 free pages as one-time credits, with no credit card. Paid plans start at $17/month for 5,000 pages.
Can I extract tables from a scanned PDF?
Yes. If a page draws an image but has little or no embedded text, Parsebridge turns on OCR for the conversion, and the table model then works on the recognized text. When no page looks scanned, OCR stays off, so a table inside an image on an otherwise digital page isn't read. The OCR engine and language can't be configured.
How are merged cells handled?
A cell that spans several columns or rows is repeated in every cell it covers, because Markdown tables and CSV files have no merged cells. Check complex tables in the output. The table model can also merge rows, as it did with the last two rows of the example above.
What about tables that continue onto the next page?
The free extractor reads page 1 only, so a table that continues onto page 2 is cut at the page break. The API converts every page. Docling detects tables page by page and does not join a table across a page break, so a table that spans two pages comes back as two Markdown tables, which you can join in your own code.
What are the limits of the free extractor?
It converts page 1 of PDFs up to 10 MB, from an upload or a public HTTPS link, and each IP address can send 5 requests per hour. The first page is copied to temporary storage for conversion and deleted when the request finishes, and the Markdown isn't saved. To enforce the hourly limit, Parsebridge records your IP address with a timestamp. See the privacy policy for details.
Which files can I extract tables from?
PDFs only. Word, Excel, PowerPoint, HTML and image files aren't supported. Links must be public HTTPS URLs that return the PDF directly.
Can I get the whole page as Markdown?
Yes. The Markdown preview above the tables has the full page, and the Copy button copies it. The PDF to Markdown converter runs the same conversion without the table list.
Extract tables from full PDFs
Create an account to get an API key. New accounts start with 50 free pages as one-time credits, with no credit card. Plans start at $17/month for 5,000 pages.
Questions? support@parsebridge.com