fileformer
search⌘KtranslateENexpand_moreupload_fileConvert
Converters8 file families · 44 direct conversions
What changes in a conversionarrow_forward
home/document/pdf-to-excel

Get the numbers out of a PDF, as numbers, not text.

We find every table on the page. Tick the ones you want, and each becomes its own sheet. Currency signs, brackets and dashes are cleaned so SUM() actually works.

q1-report.pdf · page 23 tables found
check_boxQuarterly revenue96% table
check_boxHeadcount by team89% table
check_box_outline_blankFootnotes41% table
table_chartQuarterly revenuetable_chartHeadcount by teamno tables selected
ABCD1RegionQ1 2026Q4 2025Change2North1,240.501,108.0012%3South980.251,015.40−3.5%4East1,412.001,290.759.4%5West760.106Total4,392.853,414.1528.7%
sheets2real numbers13numbers stored as text0
Currency signstoggle_on$1,240.50arrow_forward1240.5Brackets = negativetoggle_on(3.5%)arrow_forward−0.035Percent to valuetoggle_on12%arrow_forward0.12Dashes to emptytoggle_on-arrow_forward(blank)table_viewCreate .xlsx · 2 sheets
1 · your file
folder_openOpen filedescriptionSample .docx
The converter engine (doc-engine.js) failed to load: Failed to fetch dynamically imported module: http://127.0.0.1:9777/js/main/general/doc-engine.jsDrop any of 17 readable formats here: Word, ODT, RTF, AbiWord, KWord, StarOffice, EPUB, DocBook, XPS, HTML, Markdown, CSV or text. The format is read from the bytes, not the name.
2 · convert to
.pdfshare, print.docxedit in Word.odtLibreOffice.epube-readers.mdREADMEs.txtwords only
searchAll 28 formats · 14 written hereexpand_more
A4Letter
PDF 1.7 with the standard 14 fonts (nothing embedded), lines wrapped with Helvetica metrics, link annotations.
swap_horizConvert to .pdf
What survives waiting for a file
partin sourceread backstatus
text_fieldsWords---
titleHeadings---
format_list_bulletedList items---
tableTables · cells---
format_boldBold runs---
format_italicItalic runs---
linkLinks---
imageImages---
rate_reviewComments---
translateCharacters---
Open a document or the sample. The table fills in from the file itself; after converting, the output is read back and counted again.
~/one-document-ten-outputs

What each format does to your document.

We converted one source document into every major output format and measured the file that came out. The source was a 37.4 KB DOCX with headings, bold and italic text, a table, numbered and bulleted lists, and one embedded image.

289%PDF, the largest output
166%RTF, bloated but portable
3%Markdown and TXT, image dropped
formattypeoutput size · vs 37.4 KB sourcelayoutkeepsverdict
.docxEditable37.4 KB · 100%ReflowsEverythingThe editing default
.docEditable51 KB · 136%ReflowsEverythingLegacy, larger than DOCX
.odtEditable33.5 KB · 90%ReflowsEverythingOpen standard, smallest office format
.rtfEditable62.1 KB · 166%ReflowsText, styling, tablesVery portable but bloated
.pdfFixed108 KB · 289%ExactExact appearanceFor sharing and printing, not editing
.epubReflowable31.3 KB · 84%Adapts to screenText, styling, imagesFor e-readers
.htmlMarkup1.5 KB · 4%ReflowsText, styling, tablesOpens in any browser
.mdPlain text1.2 KB · 3%ReflowsText, basic stylingSmallest, great for docs and notes
.txtPlain text1.1 KB · 3%NoneText onlyUniversal, but drops all formatting
.dbkMarkup3.5 KB · 9%StructuredText, structureTechnical documentation only
Plain text is tiny because the image goesMarkdown and TXT both came out at 3% of the source, against 100% for DOCX: the embedded image is the bulk of the file, and neither format can hold it.
PDF pays for a fixed pageAt 289% of the source, PDF was the largest output. That is the cost of fixing the layout, fonts and image into a page that looks identical everywhere.
RTF is the surpriseIt keeps formatting but grew to 166% of the DOCX, so it is only worth using when the receiving program cannot read anything better.

Sizes are from one representative document converted with Pandoc and LibreOffice. Your own files will differ, especially with more images, but the relative ordering holds.

~/is-your-pdf-really-text

Why PDF to Word is the hard direction.

A PDF has no paragraphs. It stores “draw these glyphs at x, y in this font”, often one word or one line at a time, and a scanned page stores only a picture. Drop any PDF to see which kind you have and what its page instructions look like.

picture_as_pdfInspect a PDFText PDF sampleScanned PDF sample
Nothing inspected yet. The two samples are written here: one with real text, one that is only a JPEG of a page.
~/whose-decimal-point

Is “1.250” one and a quarter, or twelve hundred and fifty?

English-speaking countries write 1,250.50. Much of Europe and South America writes 1.250,50. A PDF only stores the characters, so the converter has to know which convention the document used: guess wrong and every figure is off by a factor of a thousand.

document was written in
English (1,250.50)German / French (1.250,50)
in the pdfbecomesnote
1,250.50arrow_forward1,250.5Other convention reads 1.2505
1.250,50arrow_forwardtext: can’t readNot valid in this convention
1.250arrow_forward1.25Other convention reads 1,250
1,250arrow_forward1,250Other convention reads 1.25
0,75arrow_forwardtext: can’t readNot valid in this convention
12.5%arrow_forward0.125Same either way
Ambiguous rows are highlighted. We detect the convention from the whole document, for example a figure like 1.250,50 settles it, and you can override it before converting.
~/one-table-three-pages

Long tables break across pages. Your sheet shouldn't.

A transaction list printed over three pages repeats its header row at the top of each, and page footers sneak in between. Stitching removes the repeats so you get one continuous table you can sort and filter.

page 4
page 5
page 6
joinStitched
sheet · transactions1 header · 21 rows123456789101112⋮22
header rowdata · page 4data · page 5data · page 6page footer
~/two-row-headers

Merged header cells look tidy and break filters.

Reports often group columns under a shared heading. In Excel, merged cells stop sorting, filtering and pivot tables from working. Flattening gives every column its own complete name instead.

Merged, as in the PDFbreaks sorting
Region20252026Q1Q2Q1Q2North410455470512South388372401420
closeSort and filter refuse to run on a range with merged cellscloseColumn B has no name of its own, only “2025” above itcheckLooks exactly like the printed report
Flattened into one rowour default
Region2025 Q12025 Q22026 Q12026 Q2North410455470512South388372401420
checkEvery column has a full name: “2025 Q1”, “2026 Q2”checkWorks with sort, filter, pivot tables and formulascheckEasy to turn into a chart straight away