Convert ODS to CSV Online

What a Calc workbook becomes when it is reduced to a delimited text file.

  1. Add a file Choose or drop it here
  2. Pick the format Change it whenever needed
  3. Download the result After conversion completes

ODS Carries a Workbook; CSV Carries a Chosen Slice

An ODS file is the spreadsheet form of OpenDocument Format. It is not one long text table with a different extension: it is a ZIP package whose parts normally include content.xml, styles.xml, meta.xml, settings.xml, and a manifest that lists the package files. The OASIS specification also permits a run of identical rows or columns to be stored once with a repeat count, rather than writing every empty cell separately. That is useful background when an ODS workbook seems small despite showing a large grid. It can have several sheets, formulas, number formats, validations, print settings, comments, drawings, charts, and named ranges. CSV has none of those containers. It is a sequence of text records divided into fields, so an ODS-to-CSV conversion has to choose a sheet and turn its displayed cell content into a flat text table.

That choice is the first thing to settle before conversion. A CSV file has no place to store the tab name of a second sheet, no workbook navigation, and no standard field for a chart or a hidden calculation sheet. Exporting a sheet called Summary does not carry the other tabs along as hidden material. If the receiving system needs two related tables, it needs two CSV files with clear names, or it needs a workbook format instead. Treat the ODS file as the source record and the CSV as a delivery copy for one defined table. This prevents the common mistake of reopening a CSV, seeing the active table, and assuming the whole workbook survived.


The Conversion Flattens Cell Meaning Into Characters

ODS can distinguish a string, number, date, time, Boolean value, currency value, formula, and formatting rule. An ODF formula cell can store both the expression and a value used as its result. CSV does not have comparable cell types or a shared formula language. When a formula such as =SUM(B2:B31) is exported as a normal CSV value, the receiver gets the number that was calculated at export time, not the dependency on B2 through B31. Changing an amount in the CSV later cannot update that total. Choosing an option to write formula text instead changes the problem: the recipient gets characters beginning with =, but a plain CSV reader has no duty to calculate them and some spreadsheet programs may treat them as formulas on import.

Text values need their own care. RFC 4180 describes a common CSV form in which records use CRLF line endings and fields are separated by commas. A field containing a comma, double quote, or line break should be enclosed in double quotes; a quote inside that quoted field is represented by two quotes. For example, a cell containing North, "A" wing must not be written as three unprotected pieces. Its CSV form is "North, ""A"" wing". A naive reader that splits every physical line at commas will break such data, especially when a quoted cell contains an address or note with a line break. The export is therefore not merely changing a suffix: it is translating spreadsheet cells into a text grammar with quoting rules.


Six Consequences of Choosing a CSV Delivery File

  • One sheet becomes one file: CSV has rows and fields, not workbook tabs, so make a separate export for each required ODS sheet.
  • Calculated results become fixed text or numbers: a dependent total will not recalculate unless the receiving system adds its own formula after import.
  • Formatting disappears: widths, colors, conditional rules, merged cells, freeze panes, and page breaks are ODS features, not CSV fields.
  • Identifiers can change on the next open: 00127, long account-like numbers, and date-looking text need an import rule that keeps them as text.
  • Quotes and separators become part of data safety: a comma in a name is harmless only when the exporter and importer agree on the quote character.
  • Character encoding needs to be stated: RFC 4180 allows a charset parameter but does not make one mandatory; an unstated encoding leaves the importer to guess.

The gain is deliberate simplicity. A database loader, data-analysis script, accounting import, or public-data portal often asks for CSV precisely because it wants a predictable row-and-column feed rather than a living workbook. The loss is equally deliberate. CSV should be chosen when the receiver needs values in a stated table, not when it needs the workbook's logic or presentation. Before exporting, record the sheet name, used range, header row, key total, date convention, and columns that must remain text. Those notes make the correct target testable rather than relying on how the file happens to look in the exporting application.


CSV Compatibility Depends on the Import Path

CSV is widely accepted, but acceptance is not one fixed behavior. LibreOffice Calc's Export Text File dialog exposes decisions that the extension cannot answer: character set, field delimiter, string delimiter, whether to quote all text cells, and whether formulas are written instead of calculated values. Its import dialog separately lets the reader choose the separator, text delimiter, language, and column type. The language setting matters because it influences recognition of dates, times, decimal numbers, and scientific notation. A date written as 03/04/2026 can mean different calendar days to different import settings even though the CSV characters are identical.

Microsoft Excel also has more than one CSV path. Its Text/CSV import flow lets a user inspect delimiter and data type choices instead of immediately accepting automatic interpretation. A plain-text editor is a useful additional check because it displays the actual commas, semicolons, quotes, and line endings without converting a value to a date or hiding an empty field. If the destination specifies UTF-8, use UTF-8 and verify a few accented or non-Latin names in that destination. If it specifies a semicolon separator because its regional decimal mark is a comma, export semicolons rather than hoping the receiving program will guess. The correct setting is defined by the importer, not by the familiar name CSV.


Four Failure Patterns That Reveal the Actual Cause

Every record arrives in one column. This usually means the reader expected a different separator. A semicolon-delimited export opened by a comma-only importer is still valid delimited text, but it is not the dialect that importer expected. Open the original ODS, export again with the required delimiter, and test the raw file before editing hundreds of shifted cells. Names show replacement marks or strange symbols. That points to an encoding mismatch, such as UTF-8 bytes interpreted as an older single-byte character set. Re-export with the agreed character set and inspect a known non-ASCII value after import.

Leading zeros vanish or dates move. This occurs at import when the receiving spreadsheet guesses a type; CSV itself did not declare that an identifier was a number. Select that column as text in the importer before it reads the data. Rows appear to split halfway through a note. The likely cause is a receiver that does not honor the quote rule for embedded line breaks, or a malformed source field with an unmatched quote. RFC 4180 allows CRLF within a quoted field, so count logical records with a proper CSV parser instead of counting lines in a text editor. In all four cases, repair the export or import setting at the source and regenerate the file. Editing a damaged CSV by hand risks changing the data a second time.


ODS and CSV: Concrete Limits at a Glance

CheckODS workbookCSV export
Physical formZIP package with XML and a manifestDelimited text records
SheetsMore than one worksheet can existOne table per file
Formula handlingCan hold formula expressions and valuesCalculated result or literal formula text only
Quoted commasCell text is separate from storage markupNeeds double-quote escaping under RFC 4180 practice
Cell typesNumber, date, text, Boolean, and more can be identifiedNo standard per-field type declaration
Encoding signalPackage XML declares its character encodingCharset is optional for text/csv

This table explains why a matching row count is necessary but not enough. A row count cannot prove that commas inside quoted notes stayed together, that an identifier remained text, or that a formula result is still meaningful without the source calculation. Compare both structure and meaning: verify the selected sheet, headers, expected number of records, a value with a comma, a quote, a line break if present, a leading-zero code, a date, and a key total. Keep the original ODS unchanged until that test passes in the same program or system that will consume the CSV.


Specific Questions Before You Send the Text File

Can I rename an ODS file to .csv?
No. The contents remain an OpenDocument ZIP package, so a CSV importer will not see the required text records. A real export must write a new file.

Does CSV keep formulas?
Not as working spreadsheet relationships. An exporter can write calculated values, or it can write formula characters when that option is selected, but CSV does not carry a workbook calculation model.

Why did only one ODS tab appear?
A CSV file represents one table. Export each required sheet separately and use filenames that identify the tab and reporting period.

Why does a code such as 00045 become 45?
The importing program guessed that the field was a number. Import that column as text before opening the final delivery file, then compare several codes with the ODS source.

Which checks matter before delivery?
Confirm the delimiter and encoding with the receiver, then test record count, headers, quoted punctuation, non-ASCII text, identifiers, dates, and a known total. If the CSV is meant for a machine import, run that import against a safe test destination. The ODS file remains the recoverable record for any correction.