Convert JSON to Arrow Online
Convert JSON files to Arrow format directly in your browser. No upload required — your data never leaves your device.
About converting JSON to Arrow
Arrow IPC is the format to choose when JSON data is headed for another program rather than a person. A Python, R or Rust process can open an .arrow file with pyarrow, Polars or the arrow crate and use the columns directly, without parsing text or guessing types. Typical sources are API pulls and fixture files that a notebook or test suite reloads many times, where parsing a large JSON document on every run is slow.
The file keeps the types found in the JSON. Integers become Int64, decimals Float64, booleans Bool, and plain YYYY-MM-DD strings become Date32. Nested objects are written as Arrow Struct columns and arrays as List columns, so pl.read_ipc() in Polars returns struct and list columns that you can unnest there rather than re-parsing strings.
Arrow is a transport format, not an archive. The output is written without compression, so it is usually several times larger than the same data saved as Parquet. Readers also need an Arrow library; the file cannot be opened in a text editor or a spreadsheet. Pick Parquet for storage and sharing, and Arrow for fast hand-off between tools on the same machine.
Worked example
A small sample file, converted with the default settings.
Input (JSON)
[
{
"id": 4101,
"title": "Login fails on Safari 17",
"state": "open",
"comments": 3,
"created": "2026-03-02",
"assignee": "maria"
},
{
"id": 4102,
"title": "Export slow, then times out",
"state": "closed",
"comments": 8,
"created": "2026-03-03",
"assignee": null
},
{
"id": 4103,
"title": "Add dark mode",
"state": "open",
"comments": 12,
"created": "2026-03-05",
"assignee": "dev-team"
},
{
"id": 4104,
"title": "Crash on empty file",
"state": "closed",
"comments": 0,
"created": "2026-03-06",
"assignee": "li.wei"
}
]Output (Arrow)
Arrow IPC file (binary, columnar) — shown as a table with its schema
| id | title | state | comments | created | assignee |
|---|---|---|---|---|---|
| 4101 | Login fails on Safari 17 | open | 3 | 2026-03-02 | maria |
| 4102 | Export slow, then times out | closed | 8 | 2026-03-03 | NULL |
| 4103 | Add dark mode | open | 12 | 2026-03-05 | dev-team |
| 4104 | Crash on empty file | closed | 0 | 2026-03-06 | li.wei |
Schema: id BIGINT, title VARCHAR, state VARCHAR, comments BIGINT, created DATE, assignee VARCHAR
What changes when you convert JSON to Arrow
- id and comments become Int64 columns, title, state and assignee become Utf8 strings, and created becomes Date32.
- The output uses the Arrow IPC file format, which begins with the ARROW1 magic bytes, not the streaming format.
- Nested objects become Struct columns and arrays become List columns, with child types inferred from the values.
- JSON null and missing keys are stored as nulls in the column. The assignee for issue 4102 is null.
- ISO timestamps with milliseconds, such as 2026-03-02T09:14:00.250Z, remain Utf8 strings. Whole-second UTC values become Timestamp columns.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Frequently Asked Questions
Is this the same as a Feather file?
Yes. Feather version 2 is the Arrow IPC file format. You can rename the output to .feather and read it with pandas.read_feather or pyarrow.feather.read_table. The file is uncompressed, which every Feather reader accepts.
How do I read the file in Python?
With pyarrow: pyarrow.ipc.open_file("issues.arrow").read_all() returns a Table, and .to_pandas() converts it. With Polars: pl.read_ipc("issues.arrow"). Both keep the Int64, Date32, Struct and List types from the conversion.
Should I convert JSON to Arrow or to Parquet?
Use Arrow when another process will load the data soon and speed of loading matters more than size. Use Parquet when the file will be stored, uploaded or queried by a warehouse, because it is compressed and far more widely supported by cloud tools.
What is Arrow format?
Apache Arrow is a columnar in-memory format designed for zero-copy reads and high-speed exchange between data systems.
Related Tools
Convert Arrow to JSON Online
Convert Arrow files to JSON format directly in your browser. No upload required — your data never leaves your device.
Arrow Viewer Online
View and inspect Arrow files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
JSON Viewer Online
View and inspect JSON files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Validate JSON Files Online
Validate JSON file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.
Deduplicate JSON Files Online
Remove duplicate rows from JSON files instantly in your browser. No upload, no server — 100% private.
Convert JSON to CSV Online
Convert JSON files to CSV format directly in your browser. No upload required — your data never leaves your device.
Convert JSON to Parquet Online
Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.
Convert JSON to Excel Online
Convert JSON files to Excel format directly in your browser. No upload required — your data never leaves your device.