Format Atlas

Compare

Arrow IPC vs CSV

Both can exchange tabular data, but Arrow IPC is a typed binary columnar format, whereas CSV is plain text with delimited fields.

Which format should you choose?

Choose Arrow IPC to preserve typed schemas between compatible analytics tools; choose CSV for readable text and broad spreadsheet or tool compatibility.

Good fit for Apache Arrow IPC

Exchanging columnar table data between compatible programs and languages · Passing analytical data sets between Arrow-aware tools

  • Moving typed data between Arrow libraries and analytical engines
  • Random access to record batches in the IPC file format

Good fit for CSV

Tabular-data exchange

  • Transferring one simple table between applications

Basic information

FieldApache Arrow IPCCSV
Extension.arrow, .feather, .arrows.csv
MIME typeapplication/vnd.apache.arrow.file, application/vnd.apache.arrow.streamtext/csv
Common usesExchanging columnar table data between compatible programs and languages · Passing analytical data sets between Arrow-aware toolsTabular-data exchange
How to openRead it with an Apache Arrow library or an analytics tool that supports Arrow IPC. The .arrow extension commonly indicates the file format and .arrows the stream format, but verify what the receiving tool expects and which compression codecs it supports. For Feather files, check compatibility with the older Feather V1 format.When importing into a spreadsheet, set the character encoding and delimiter. Check that leading zeros, date-like values, and long numbers are not automatically converted.
Export or convertParquet may suit analytical storage and delivery; CSV may suit simple table exchange. Conversion can change or discard Arrow-specific types, nested structures, dictionary encoding, or compression settings. Check required types and precision, and retain the source data.Exporting XLSX to CSV normally writes values from only one selected sheet. Keep formulas, formatting, other sheets, and charts separately.

Choose by use case

Moving typed data between Arrow libraries and analytical engines

Exchanging columnar table data between compatible programs and languages · Passing analytical data sets between Arrow-aware tools

Apache Arrow IPC

Random access to record batches in the IPC file format

Exchanging columnar table data between compatible programs and languages · Passing analytical data sets between Arrow-aware tools

Apache Arrow IPC

Transferring one simple table between applications

Tabular-data exchange

CSV

Key point 1

Arrow defines typed column arrays and serializes record batches through IPC; CSV stores rows and fields as text.

More on the differences

Key point 2

Arrow can represent types such as numbers, timestamps, nulls, and nested values explicitly; CSV readers often infer types from text or need a separate schema.

More on the differences

More on the differences

Use Arrow IPC when compatible tools need to exchange columnar data while preserving types, nullability, and nested fields. Use CSV when people need to inspect the file or exchange simple tables with a broad range of applications. For CSV, agree on encoding, delimiter, quoting, headers, and type interpretation; for Arrow, verify IPC file versus stream support.

  • Arrow uses a language-agnostic columnar schema and IPC record batches serialized as a file or stream. CSV is line-oriented text; RFC 4180 documents common comma, quote, and line-break conventions.
  • Arrow explicitly represents data types and nulls, including some nested structures. CSV values are text, so type and null semantics are often inferred by the reader or defined externally.
  • CSV is human-readable and simple to pass around, but parsing and type inference can be costly or ambiguous at scale. Arrow is suited to typed analytical exchange but requires compatible libraries.

Frequently asked questions

Does CSV preserve column data types?

CSV text does not itself provide a rich, standardized column schema. Readers often infer types or rely on separate schema information.

Learn more

References and specifications