Skip to content

Octa

Octa main window in Table view

Octa is a native desktop application for viewing and editing tabular data files. It opens Parquet, CSV, JSON, SQLite, DuckDB, Excel, and around twenty more formats in a fast spreadsheet-like view, with sorting, filtering, full-text search, inline editing, SQL queries, and file comparison.

It also doubles as a command-line tool and an MCP server, so models like Claude can answer questions about your local files.

Get Octa First Steps


What it's good for

  • Look at data quickly


    Drag a Parquet, a Stata .dta, a SQLite database, an Excel workbook, Octa figures out the format and opens it in a table. Multi-million-row Parquet files stream in the background while you scroll.

    Supported formats

  • Run SQL against any file


    Every open file is exposed to DuckDB as a temp table called data. No schema setup, no import step needed. Press Ctrl+Enter and your SELECT ... FROM data WHERE ... runs against the loaded rows.

    SQL panel

  • Plot without leaving Octa


    Histogram, bar, line, scatter, and box plots open in their own tab via Analyse → Chart. Style the title, axes, legend, and per-series colours, then export to PNG, SVG, or PDF for a report or slide deck.

    Charts

  • Use it from the shell


    octa --schema data.parquet prints columns + types. octa --head / --tail / --sample slice rows out (as TSV / JSON / CSV). octa --diff a.csv b.csv shows the rows that changed between two files, and octa --convert in.csv out.parquet round-trips through the same format readers the GUI uses.

    Command-line reference

  • Plug Claude into your data


    octa --mcp is a Model Context Protocol server on stdio. A twenty-tool set, read_table, schema, run_sql, convert, profile, diff_tables, write_table, edit_table, and more, lets Claude Desktop, Claude Code, or any MCP client answer questions about (and edit) your local files. Runs in a container too.

    MCP server guide

  • Compare two files


    Compare a CSV to a Parquet by hashing matching columns. See exact line-by-line text diffs of two notebooks. Bucket rows into Left-only / Right-only / Shared and inspect each.

    Compare view

  • Edit and save back


    Edit cells inline, insert and reorder columns, derive new ones with formulas or date/time calculation, mark cells with colours, undo and redo. Even Jupyter notebook source cells are editable, and saving preserves their outputs. SQLite/DuckDB writes are diff-based, so only changed rows are touched.

    Editing

  • Use it in your language


    The interface is available in 13 languages, English, German, Spanish, French, and more, switchable live under Settings → Appearance. CSV encodings, date formats, and number separators are detected per file.

    Languages


Where to next

Octa is open source (MIT) and the source lives at github.com/thorstenfoltz/octa.