Octa
A native desktop application for viewing, editing, and querying data files. Octa opens a file in a spreadsheet-like table with sorting, filtering, and search, and runs as a single binary on Linux, macOS, and Windows.
Files are not read-only: edit cells, rows and columns with undo, then save in the original format or convert to another one with Save As. Any open table, a plain CSV included, can also be queried with SQL through DuckDB.
📚 Documentation: https://thorstenfoltz.github.io/octa/

Contents
What it does
The user guide is sorted by task, and each topic lists where a job lives: in the app, on the command line, and as an MCP tool for AI agents.
- Open files: tabs, a folder sidebar, files bigger than memory, password-protected files, archives, PDF tables and log files.
- Connect: S3, Azure, GCS, SFTP and WebDAV, twelve live database engines from PostgreSQL to BigQuery, and REST APIs.
- View and find: sorting, search, filters, marks, bookmarks, and views for raw text, JSON trees, maps and timelines.
- Edit and reshape: inline edits with undo, formulas, type changes, pivot and transpose.
- Clean and protect: duplicates, outliers, missing values, validation rules, personal data and anonymisation.
- Combine and split: union, join, fuzzy and spatial joins, key finding, merging edited copies, splitting into files.
- Analyse: summaries, value counts, correlations, time series, charts, forecasts and HTML reports.
- Compare and history: file and database diffs, schema and data drift, cell history in Git, earlier versions.
- Save and export: save back, convert, PDF, workbooks and DDL.
- SQL and assistant: DuckDB SQL over any open file, and a chat assistant that runs on a cloud model or offline with Ollama.
- Automate: recipes that replay a clean-up, batch conversion, a full command line and an MCP server for Claude and other Model Context Protocol clients.
What it reads
Parquet, CSV/TSV, JSON and JSON Lines, Excel, ODS, Arrow, Avro, ORC, SQLite, DuckDB, GeoPackage, SAS, SPSS, Stata, R, HDF5, NetCDF, NumPy, MessagePack, BSON, DBF, XML, TOML, YAML, Jupyter notebooks, Markdown, HTML, EPUB, PDF tables, log files, GeoJSON, Shapefile, Delta Lake, Apache Iceberg, fixed-width text, zip/tar archives, SQL dumps, and source code. Most of those can be written back, and Save As converts between them.
See supported formats
for the full list and what each one can do, or open samples/ for
one small example of every one of them.
Installation
Building from source works on all three platforms: install
Rust, clone this repository, and run
cargo build --release. Linux and macOS need a few native libraries first,
Windows needs a C++ toolchain; the
installation guide
lists them per platform, along with uninstall steps and the first-launch
security prompts on Windows and macOS.
Arch Linux
On Arch and Arch-based distributions (Manjaro, EndeavourOS, Garuda, ...) Octa is
on the AUR, either built from source or as the prebuilt binary. Both install the
man page, so man octa works:
Build from source:
paru -S octa
Or take the prebuilt binary:
paru -S octa-bin
Swap paru for yay or any other AUR helper you use.
Linux (and WSL)
Install the latest release with one command, user-local (no sudo):
curl -fsSL https://raw.githubusercontent.com/thorstenfoltz/octa/master/get-octa.sh | bash -s -- ~/.local
Or system-wide into /usr/local:
curl -fsSL https://raw.githubusercontent.com/thorstenfoltz/octa/master/get-octa.sh | sudo bash
On WSL, also install a file dialog backend, or Open and Save as have nothing to show and appear to do nothing (Octa says so in the status bar):
sudo apt install xdg-desktop-portal-gtk # or: sudo apt install zenity
An AppImage and a plain tarball are on the releases page. A downloaded AppImage still needs its execute bit, and a file manager will silently ignore a double-click until it has one:
chmod 750 Octa-*-x86_64.AppImage
./Octa-*-x86_64.AppImage
Docker
A headless image ships the CLI and the MCP server:
docker pull ghcr.io/thorstenfoltz/octa:latest
Mount a directory and pass any CLI flag:
docker run --rm -v "$PWD:/data" ghcr.io/thorstenfoltz/octa --schema /data/file.parquet
See the container docs for the MCP invocation and Podman.
Windows
Install from the Microsoft Store: one click, no SmartScreen prompt, and the Store keeps it updated.
Or download octa.exe from the
releases page and run it, no
installation needed. install.ps1 (per-user, no admin) or install.bat
(system-wide) set it up properly with a Start Menu entry.
Those downloads are not code-signed, so Windows shows "Windows protected your PC" on first launch. It is safe to continue: how to get past the SmartScreen prompt.
macOS
One line, no password, Apple Silicon:
curl -fsSL https://raw.githubusercontent.com/thorstenfoltz/octa/master/get-octa.sh | bash
It puts Octa.app into ~/Applications and octa into ~/.local/bin, and
because curl marks nothing as quarantined, macOS opens it without a
Gatekeeper warning. Intel Macs build from source.
The Octa.app bundle is also on the
releases page. It is not
notarised, so a copy downloaded with a browser makes macOS claim "the developer
cannot be verified" (and occasionally that the app is damaged). Neither means
anything is wrong with the download:
how to open it anyway.
License
MIT