Table Extractor

Extract any table from a PDF into clean rows with named columns — bank statements, payslips, tax returns and reports. Download as CSV, XLSX or JSON. Free.

How should we start?

Build with Talonic

Need to scale? Create an API key, then run this from your own code or an agent.

Create an API key

Free account required

Start with a document

Upload a file or pick a sample, and see the fields come back.

No signup · nothing stored

Questions about Table Extractor.

What does the Table Extractor do?

It pulls the table out of a document and returns it as structured rows you can download. Point it at any PDF that contains a table — a bank or account statement, a payslip, a tax return, an invoice, a quotation, a report, or a datasheet — and it captures the document title, the table caption, and every row of the dominant table.

Do the rows come back as a real table with named columns, or one blob?

As a real table. The rows return as an array with one object per data row, and each row's named fields are the table's own columns — so a bank statement comes back with date, description, debit, credit and balance columns and a payslip with description and amount. Every row and every column is captured and it exports as CSV, XLSX or JSON rows rather than one text blob. This is the point of the rebuilt tool: the old version truncated every table to four fixed columns.

What kinds of tables and documents does it work on?

Any document with a tabular section — bank and account statements, payslips and payroll slips, income-tax returns, invoices and quotations, inventory and expense reports, and technical datasheets. It reads both digitally generated PDFs and scanned pages, and column labels are read in several languages (German Tabelle and Zeilen, Spanish tabla and filas, French tableau and lignes).

How are the columns named?

It uses the table's own column headers as the field names where the document prints them (Date, Description, Amount, Balance, and so on). When a table has no header row the columns are named by inference from the values. The names are auto-inferred by the extraction engine rather than fixed in advance, because the tool is document-type-agnostic — an unusual layout may get a slightly generic label, but no column is dropped.

What if a document has more than one table?

The tool captures the largest, dominant table on the document — for example the transactions table on a statement rather than the small summary box beside it. For a document whose main content is one big table (a statement, a register, a price list) that is exactly the table you want. Two scalar fields also come back where they are printed: the document title and the table caption.

What are the file limits and privacy terms?

PDF only, up to 10MB and 100 pages. The document is processed via the Talonic API for extraction only, is not retained for training, and is not shared.

Doing this to one file, or to ten thousand?

The tool reads a single document. The platform reads the whole estate once and keeps it queryable — the same engine, with a memory.

See PDF to Markdown if you run this for data and platform teams, or the extraction API if you are building it in.