b2KIT

Apache Arrow IPC Viewer

View Apache Arrow IPC (Feather) files with schema inspection and tabular data browsing.

Tested tool guide Tested browser tools Checked August 16, 2026

What Apache Arrow IPC Viewer does, with a checked example

This tool opens a .arrow or .feather file, reads its trailing footer and Flatbuffers-encoded schema, and lists every column with its Arrow type, nullability, and null count before rendering the record batches as a scrollable table. It exists for the moment you have an Arrow file and no Python environment handy to check what's in it. The most common surprise: Feather V1, the original pre-Arrow Feather layout, is a different on-disk format from Feather V2, which is just the Arrow IPC file format under another name, and V1 files may not open here.

Worked example

A concrete input and expected output from the current implementation.

Input

A Feather (Arrow IPC) file with schema {id: int64, name: string, score: float64} and 3 rows: (1, 'Alice', 92.5), (2, 'Bob', 88.0), (3, 'Cara', null)

Expected output

Schema panel: id -> int64, not null; name -> string (utf8), not null; score -> float64, nullable, 1 null. Data table (3 rows): 1/Alice/92.5, 2/Bob/88.0, 3/Cara/(null).

The viewer reports exactly the three declared columns with their Arrow types and flags the single null in score, then lists the three record-batch rows in file order.

How the result is produced

1

Footer-first parsing

The tool reads the trailing footer of the Arrow IPC file, a Flatbuffers-encoded block listing the schema and the byte offset of each record batch. It uses those offsets to locate batches directly instead of scanning the file start to finish, so the schema panel populates even before any row data is decoded.

2

Columnar buffers to rows

Arrow stores each column as contiguous buffers: a validity bitmap plus one or more value buffers, per the Arrow columnar memory layout. To build the table view, the viewer decodes each column's buffers according to its declared type and null bitmap, then interleaves columns row by row for on-screen display.

Good uses

  • Checking the column names, types, and row count of a .feather file exported from a pandas or Polars pipeline without opening Python.
  • Verifying that an Arrow file produced by DuckDB, Spark, or R's arrow package matches an expected schema before loading it into another system.
  • Spot-checking an Arrow IPC export for unexpected nulls or a wrong column type before shipping it downstream.

Limits and checks

  • The Arrow IPC file format requires a footer at the end of the file; a truncated download, or a file written in the streaming-only IPC format (no footer), may fail to open even though the underlying bytes are valid Arrow data.
  • Nested types such as List, Struct, Map, or dictionary-encoded columns are valid Arrow types but may be flattened or summarized in the table rather than shown with their full nested structure.
  • Feather V1, the pre-Arrow Feather layout, is a different on-disk format from Feather V2 / Arrow IPC; a .feather file saved in V1 format is not guaranteed to open here.

Common questions

Can I open a .parquet file with this?

No. Parquet is a separate columnar file format with its own footer and page layout, distinct from Arrow IPC. Convert it to Arrow or Feather first, for example with pyarrow, or use a Parquet-specific viewer instead.

Does my file get uploaded anywhere?

No, the file is read and parsed locally in your browser and is not sent to a server. That matters if the data is sensitive, or if you want to inspect a file while offline.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools