Add your ARROW file
Drop one or more .arrow files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Converting a .arrow font to .feather repackages the same glyphs and metrics for a different delivery target. Free, private, and validated — the file never leaves your browser.
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.Converting a .arrow font to .feather repackages the same glyphs and metrics for a different delivery target. An .arrow file is an Apache Arrow IPC file: a columnar table written in exactly the memory layout Arrow uses at runtime, so a reader can point at the bytes and start working without parsing or copying anything. The file format is the in-memory format with a header, a footer and a little framing, which is the entire idea.
A .feather file is a fast on-disk table format for data frames. Since version 2 it is literally the Apache Arrow IPC file format under a different extension, so a modern .feather file and a modern .arrow file are the same bytes with different names. For this route the practical draw is reads far faster than CSV and preserves exact types and identical to Arrow IPC, so the whole Arrow ecosystem can open it — balanced against the v1/v2 split still surprises people opening old files, which is worth knowing before you commit a large batch.
The practical trigger for this conversion is usually a mismatch: with .arrow, uncompressed by default, so files are substantially larger than Parquet. Switching to .feather buys you reads far faster than CSV and preserves exact types, which is why it is the better fit for moving a data frame between R and Python at native speed. Because the conversion runs locally, trying it costs nothing but a few seconds of compute on your own machine.
| Aspect | Apache Arrow IPC (.arrow) | Feather data (.feather) |
|---|---|---|
| Format type | Lossless — every pixel or sample is preserved exactly | Lossless — every pixel or sample is preserved exactly |
| How it stores data | data is columnar: each column is one contiguous buffer plus an optional validity bitmap, so a scan touches only the columns it needs | a v2 file starts with the ARROW1 magic; a v1 file starts with FEA1, which is how the two are told apart |
| Strongest at | handing a table between Python, R, Java and JavaScript without a serialization step | moving a data frame between R and Python at native speed |
| Weak spot | uncompressed by default, so files are substantially larger than Parquet | the v1/v2 split still surprises people opening old files |
| Metadata | the embedded schema, field names and custom key-value metadata are read; JSON and CSV have nowhere to put schema metadata, so it is reported rather than carried | schema and column-level metadata are read from the Arrow footer; text and spreadsheet targets have no equivalent channel, so type information is reported in the conversion summary |
Drop one or more .arrow files onto the converter above, or browse for them. They load into browser memory only — nothing is uploaded, so there is no size-based pricing and no server queue.
Select .feather in the output menu next to each file. The menu only offers targets this engine can genuinely produce, so if FEATHER is selectable, the route is real and validated.
Press Convert. The font tables are parsed and rewritten locally with fonteditor-core; glyph outlines, hinting, and kerning survive the trip.
Each result is signature-checked before the download unlocks, so a failed encode can never masquerade as a valid FEATHER file. Outputs keep the original filename with the .feather extension.
Since arrow is lossless-oriented and feather is lossless-oriented, the conversion preserves the source content exactly as stored; no additional compression pass is applied beyond what .feather itself requires.
Yes — the .arrow file is processed inside your browser tab and never uploaded. The font tables are parsed and rewritten locally with fonteditor-core; glyph outlines, hinting, and kerning survive the trip. Close the tab and the file is gone from memory.
pyarrow, R's arrow package, Pandas, Polars, DuckDB and Julia all read Feather v2. Novus Convert handles .feather as Arrow IPC in the browser and converts to JSON, CSV, XLSX or .arrow. A v1 file will be rejected rather than silently misread, which is the correct outcome: guessing at a different layout would produce plausible nonsense.
It depends on the content: a v2 file starts with the ARROW1 magic; a v1 file starts with FEA1, which is how the two are told apart. Convert one representative file first and compare before batch-processing a large set.
In .arrow, the embedded schema, field names and custom key-value metadata are read; JSON and CSV have nowhere to put schema metadata, so it is reported rather than carried. Re-encoding through the browser pipeline does not carry embedded metadata into the output, which doubles as a privacy scrub — check the exported file if you specifically need tags preserved.
Yes — the reverse route exists as a separate tool. Bear in mind that round-tripping .arrow → .feather → .arrow is not a perfect undo when any lossy step is involved; keep your original if fidelity matters.