PDF to Excel
Pull the tables out of a PDF into an editable Excel spreadsheet — free, no watermark, no signup.
How it works
- Upload. Choose a PDF that contains one or more tables (up to 25 MB).
- Extract. Press Convert to Excel — every detected table is read into its own sheet.
- Download. Your .xlsx workbook downloads automatically; the PDF is never stored.
About this tool
PDF to Excel finds the tables in your PDF and rebuilds them as a real .xlsx workbook you can sort, filter and edit, instead of leaving the numbers trapped as flat text. Each table it detects becomes its own sheet, labelled by page, so a multi-page financial PDF comes out organised rather than as one jumble. It works on PDFs that contain genuine, ruled or aligned tables; a scanned image of a table has no data layer to read. No watermark, no signup, and the PDF is parsed in memory and discarded.
What people use it for
- Get a bank or invoice table into a spreadsheet without retyping
- Reuse data from a PDF report in your own calculations
- Turn a price list PDF into a sortable, filterable sheet
- Extract a results table from a research PDF for analysis
Developer API
Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.
https://best.free/api/tools/pdf-to-excel/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
report.pdf |
Yes | PDF with tables, ≤25 MB. |
curl -X POST https://best.free/api/tools/pdf-to-excel/ \
-F 'file=@report.pdf' \
-o tables.xlsx
import requests
files = {"file": open("report.pdf", "rb")}
r = requests.post("https://best.free/api/tools/pdf-to-excel/", files=files)
with open("tables.xlsx", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
const r = await fetch("https://best.free/api/tools/pdf-to-excel/", { method: "POST", body: fd });
const blob = await r.blob(); // the tables.xlsx
Response: An .xlsx workbook, one sheet per detected table.