Add your FEATHER file
Drop one or more .feather 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 .feather font to .arrow 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 .feather font to .arrow repackages the same glyphs and metrics for a different delivery target. 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.
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. For this route the practical draw is zero-copy reads: opening a file costs almost nothing regardless of its size and types are exact and preserved, including nulls, timestamps and nested structures — balanced against uncompressed by default, so files are substantially larger than Parquet, which is worth knowing before you commit a large batch.
The practical trigger for this conversion is usually a mismatch: with .feather, the v1/v2 split still surprises people opening old files. Switching to .arrow buys you zero-copy reads: opening a file costs almost nothing regardless of its size, which is why it is the better fit for handing a table between Python, R, Java and JavaScript without a serialization step. Because the conversion runs locally, trying it costs nothing but a few seconds of compute on your own machine.
| Aspect | Feather data (.feather) | Apache Arrow IPC (.arrow) |
|---|---|---|
| Format type | Lossless — every pixel or sample is preserved exactly | Lossless — every pixel or sample is preserved exactly |
| How it stores data | a v2 file starts with the ARROW1 magic; a v1 file starts with FEA1, which is how the two are told apart | data is columnar: each column is one contiguous buffer plus an optional validity bitmap, so a scan touches only the columns it needs |
| Strongest at | moving a data frame between R and Python at native speed | handing a table between Python, R, Java and JavaScript without a serialization step |
| Weak spot | the v1/v2 split still surprises people opening old files | uncompressed by default, so files are substantially larger than Parquet |
| Metadata | 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 | 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 |
Drop one or more .feather 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 .arrow in the output menu next to each file. The menu only offers targets this engine can genuinely produce, so if ARROW 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 ARROW file. Outputs keep the original filename with the .arrow extension.
Since feather is lossless-oriented and arrow is lossless-oriented, the conversion preserves the source content exactly as stored; no additional compression pass is applied beyond what .arrow itself requires.
Yes — the .feather 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.
Arrow has first-party implementations for C++, Java, Python (pyarrow), R, Go, Rust, C#, Julia and JavaScript, and Pandas, Polars, DuckDB, Spark and BigQuery all speak it. Novus Convert reads .arrow files in the browser with the official JavaScript implementation and writes JSON, CSV, XLSX or Feather; because Feather v2 IS the Arrow IPC file format, arrow-to-feather is a renaming of the same bytes rather than a re-encoding.
It depends on the content: data is columnar: each column is one contiguous buffer plus an optional validity bitmap, so a scan touches only the columns it needs. Convert one representative file first and compare before batch-processing a large set.
In .feather, 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. 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 .feather → .arrow → .feather is not a perfect undo when any lossy step is involved; keep your original if fidelity matters.