Each format has its own page with real examples and the edge cases we handle.
Seven input formats, one .xlsx out. Faded ones are not supported yet.
Three things that decide whether a converted sheet is usable or useless.
name;region;total
"Baker, J.";EMEA;4 200
;;
↓
Broken separators, quoted commas and blank rows are handled before the sheet is written.
client
Textpaid_at
Dateamount
NumberEvery column is checked before export, so numbers and dates arrive as numbers and dates.
Several tables in one document become several sheets in one workbook, named and ordered.
Most files are fixable with plain logic, and that is what we use — it is faster and it never invents data. For the rest, an AI pass reads a sample of the rows and works out the structure.
It only ever sees a sample, never the whole file, and you approve the result in the preview before anything is written.
Finds the real header row
Exports that start with a title, a blank line and a logo no longer produce a sheet with columns named Unnamed_1.
Splits and renames columns
One column holding “Acme Ltd — Invoice 4021” becomes two, named from what is actually inside them.
Normalises dates and numbers
14/01/26, Jan 14 2026 and 2026-01-14 end up as one date column. 1 200, 1,200 and 1.200,00 end up as one number.
Turns plain text into rows
A table pasted out of an email or a PDF report, with no separator at all, still comes back as a sheet.
Upload a file up to 5 MB and download the .xlsx. No account, no card.