Convert CSV to ODS
Getting a data file into a spreadsheet means giving every cell a type it never had. That inference is what makes the file usable — numbers that sum, dates that sort — and it is also what turns a product code with a leading zero into an ordinary integer. ODS is the open, ISO-standardized destination for that, native to LibreOffice.
Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.
Add to Chrome — freeDrop your CSV file here, or click to browse
Up to 50 MB. Deleted automatically after 30 minutes.
What it does
- Quoted fields with commas and line breaks parse into single cells
- Cell types inferred from content, which is worth reviewing
- Output is OpenDocument, native to LibreOffice and readable by Excel
How to use CSV to ODS
- 1
Upload the CSV
Any comma-separated file, with or without a header row.
- 2
Each field is given a type
Digits become numbers, recognized dates become dates, and everything else stays text. This is what makes sorting and calculation work.
- 3
Review the identifier columns
Codes, references and anything with a leading zero are where inference is most likely to change the meaning of a value.
How it works
The CSV is parsed with full quoting rules, so a field wrapped in quotation marks keeps its commas and line breaks as part of one cell. Each row becomes a row in a new single-sheet OpenDocument spreadsheet.
As each cell is written its type is inferred from the text, because CSV carries no type information and a spreadsheet needs one for every cell.
Why inference is worth understanding
Without it the file is barely a spreadsheet. A column of numbers held as text will not sum, sorts alphabetically so 100 lands before 20, and is refused by charts. Inference is what turns a data dump into something you can work in.
With it, any column that merely looks numeric is treated as numeric. That is correct for quantities and wrong for identifiers, and the difference is invisible until someone notices a reference number has lost a digit.
The four columns to check
Anything with a leading zero. Anything that is a code rather than a quantity. Long numeric strings that may be rendered in scientific notation. Dates written with slashes, where day and month order is ambiguous.
A better source file
If you produce the CSV yourself, writing dates as ISO 8601 removes the ambiguity entirely, and keeping identifiers in a form that cannot be read as a number — a prefix, or a non-numeric character — protects them from inference in every tool, not just this one.
Check the columns that only look like numbers
The type inference that makes this useful is also the thing to watch. A column of postcodes, product codes, phone numbers or identifiers is text that happens to be made of digits, and a spreadsheet reading it fresh will often decide otherwise.
The visible symptoms are familiar: leading zeros disappear, long codes turn into scientific notation, and anything that resembles a date becomes one. None of it is reversible once saved, because the original characters are gone rather than hidden.
Open the result and look at the identifier columns before you do anything else with it. If they are wrong, formatting the column as text in the spreadsheet and re-importing is the fix.
Examples
A survey export for analysis
The score columns became numeric, so they sum, sort and chart correctly. As text they would have sorted alphabetically and refused every formula.
A file of reference numbers
The leading zero is gone because a number cannot carry one. Format the column as text in LibreOffice and re-enter the affected values, or quote them differently at source.
Frequently asked questions
Why ODS rather than XLSX?
Usually because a policy asks for it. OpenDocument is an ISO standard, and public bodies, universities and archives frequently mandate it so files stay readable without depending on one vendor. If nobody is mandating anything, XLSX is more widely expected in ordinary office exchange, and both formats open in LibreOffice and in Excel.
What happens to leading zeros?
They are lost wherever a column is inferred as numeric, because a number has no leading zeros. This affects postcodes, product codes, account references and phone numbers, and it is the most common way a CSV import quietly changes data. The fix is in the destination: set the column format to text before entering the values, or correct the affected cells after conversion.
Can Excel open the result?
Yes. Excel has supported OpenDocument spreadsheets for many years, so a recipient using Excel can open the file without installing anything. For a sheet that came from a CSV there is nothing complex enough to lose in translation: it is values and types, both of which the two formats agree about completely.
Further reading
- We Sent a CSV Through a Spreadsheet and Watched What DiedOpen a CSV in a spreadsheet, change nothing, save it again, and the file that comes out is not the file that went in. This is well known for postcodes and product codes with leading zeros. We ran a deliberately awkward CSV through the round trip to find out exactly which fields survive and which do not.
- The Three Invisible Bytes at the Start of Your CSVYour CSV has a column called `id`. Your code looks for a column called `id`. It is not there. Print the header and it says `id`. The problem is three bytes at the very start of the file that no editor displays, that Excel on Windows once needed, and that half the software in the world now has to work around.