Caxton
Features Benchmarks Pricing Docs Changelog Support Download Free

Open a 10 GB text file or a two-million-row CSV instantly. Edit it like it's ten kilobytes.

Caxton is a native macOS editor for the files that other editors refuse: production logs, database exports, two-million-row CSVs. Memory-mapped, fully indexed, AppKit top to bottom. No Electron involved.

7-day trial, no card · a 5 MB download · $9.99/mo · $99.99/yr · $179.99 lifetime
Private by default: your files stay on your Mac. No upload, no cloud processing, no telemetry. Privacy policy
Caxton holding a 10 GB server log: 80,610,954 lines, fully indexed, syntax-colored

Not a mockup: this is Caxton holding the 10 GB benchmark log. 80,610,954 lines in the status bar.

Built for SREs on call data engineers DBAs QA engineers analysts
caxton what it does

Three workflows Mac editors still struggle with.

The large-file workflows Mac users have looked to EmEditor on Windows for, rebuilt as a native Mac app.

A 10 GB file is the design target, not the failure mode.

Memory-mapped I/O, a piece-table document model, and a tiered line index that scales past 120 million lines. The full file opens and indexes by default (no slicing required), but a Large File Controller is there when you only want a byte range of something truly enormous. The viewport renders only what you can see, so a 500 MB single-line minified bundle scrolls like a config file.

  • Open a 10 GB log, usable at once immediate
  • Full 80.6M-line background index 19.5 s measured
  • Sustained scroll, 80M+ lines 60 fps
  • Memory footprint on a 10 GB document under 200 MB measured
  • Large File Controller for partial opens optional, never required
  • Follow-tail for growing logs built in

A CSV workbench that starts where Excel stops.

Open a CSV of any size as a real grid: typed columns, a frozen header, sorting, filters, fill series, dedupe and column operations, saved back to the same file. Ten million rows, no import step. The whole workbench is below.

  • Parse 10M rows · 5.1 GB to grid 4.4 s measured
  • Sort 2M rows by a numeric column 8.2 s measured
  • Row cap none (Excel stops at 1,048,576)

Grep, but you can still scroll it.

Filter an 80-million-line file and see the first matches in under a second. Combine up to twelve conditions with AND/OR (plain text or regex, case, whole-word, exclude) and save the combinations you use every week. Slice mode shows matches in place with full surrounding context.

Caxton filtering a one-gigabyte log to only its ERROR lines: original line numbers preserved

Filtered to ERROR: 160,846 matching lines out of 8 million, original line numbers preserved, applied in about a quarter of a second.

caxton csv workbench

Your export is four million rows. Excel loads the first million and warns you.

Caxton opens all of it, as a grid you can sort, filter, fix and save back as the same file. No import, no sampling, no row cap. This is what that looks like.

Open the whole thing.

The file opens as a typed grid with a frozen header: numbers are numbers, dates are dates, and the status bar counts every row. Ten million rows are on screen in 4.4 seconds. The header is detected, or you promote any row to be it, and the delimiter is detected or picked from the CSV menu without touching the file.

Caxton's CSV grid holding two million sales rows with typed columns and frozen headers

Two million rows of order data, all of them, with typed columns and a frozen header.

Find the rows that matter.

Click a header and two million rows sort by amount in 8.2 seconds, numbers as numbers. Filter to a region, a status or a date range, one condition or several, and the count is exact. Open a column’s value browser to see what is actually in it, with counts, before you trust it.

The Caxton CSV grid sorted by a numeric column, a million rows, with the status bar reporting the sort

A million rows sorted by a numeric column from one click on the header. The status bar says what happened, and ⌘Z restores the original order.

Fix it and save it back.

Edit any cell in place, paste a block, fill down or fill a series, remove duplicate rows, add, delete and reorder columns, convert the delimiter. Then save: Caxton writes the same CSV back, every row, with no export step, and undo covers all of it. It is not a spreadsheet, so there are no formulas and no charts. It is the editor for the CSV a spreadsheet cannot open.

Editing a cell in place in Caxton's CSV grid

Editing a cell in place. Fill series, dedupe and column operations live on the same grid.

Open your CSV in Caxton 7 days free, no card · the numbers above are measured, on the benchmarks page
caxton benchmarks

We publish the numbers. The ones marked measured are real.

Caxton ships behind a 13-class benchmark matrix covering every file shape that breaks editors: huge logs, wide CSVs, single-line bundles, mixed encodings. These are the headline rows.

Operation
File
Status
Result
Open, scroll, edit
10 GB log · 80.6M lines
MEASURED
immediate
Full background index
10 GB log · 80.6M lines
MEASURED
19.5 s
Find, 1.61M matches
10 GB log
MEASURED
1.3 s
Regex alternation, 5.64M matches
10 GB log
MEASURED
2.1 s
Replace All, 1.61M replacements
10 GB log
MEASURED
1.7 s
Filter, level=ERROR
80.6M lines · 1.6M matches
MEASURED
1.3 s
CSV parse to grid
1 GB · 2M rows × 50 cols
MEASURED
2.6 s
CSV sort, numeric column
1 GB · 2M rows × 50 cols
MEASURED
8.2 s
Save after scattered edits
10 GB log · atomic rewrite
MEASURED
11.3 s
Keystroke apply latency
10 GB document
MEASURED
≈ 1 ms
One keystroke, 1,000 cursors
10 GB document
MEASURED
< 120 ms
Find in a single-line file
500 MB minified JS · one line
MEASURED
0.5 s

MEASURED = recorded by Caxton's in-app benchmark harness on an M1 Max MacBook Pro (64 GB), macOS 15.7, internal SSD, Release build, warm cache. Every number is count-verified: the find rows assert the exact match count, the Replace All row re-finds all 1,613,344 replacements afterward. Methodology and the full file-class matrix are in the docs.

Those numbers run on your files too. Download Caxton for Free 7 days free · no card
caxton daily driver

Earns the dock spot at every size

The 10 GB rescue is why people arrive. The ordinary files are why Caxton stays in the dock: a 2 MB CSV opens into the same typed grid with the same sorts, fills, and value browser, and the text toolbox (case tools, line surgery, statistics) treats a 40-line config with the same manners as a production log. Small files inherit the big-file engineering for free. Add Column lands in under a second on a million rows, so on ten thousand it is not worth timing, and menus validate without a beat at any size.

caxton who it's for

Who uses Caxton?

02:14:07.881ERRORsite_reliabilityinspecting production logs without waiting: follow-mode on, filter set to ERROR
08:52:16.294INFO analystliving in ordinary CSVs all day: typed sorts, fill series, and saves that write back the same file
09:31:42.118INFO data_engineercleaning multi-GB CSVs and JSON exports before they ship to the warehouse
11:02:19.040WARN dbainspecting SQL dumps before importing them anywhere near production
14:48:55.213INFO qa_engineeranalyzing crash reports and test artifacts from a 4 GB run
16:20:08.667ERRORsecurity_analystreviewing massive audit logs, one suspicious session at a time
18:05:33.902INFO researcherexploring large datasets directly, no preprocessing, no subsampling
caxton why native

No Electron. No web view. No plugin runtime. AppKit and Swift, top to bottom.

  • Memory-mapped I/O. The architecture browsers can't offer.
  • ~200 MB idle on a 10 GB document.
  • Tabbed windows, Services menu, native file dialogs: a real Mac citizen, not a port.
  • System dark mode through actual appearance APIs.
  • The real Mac print dialog, for the three people who print logs. We see you.
Caxton in its dark appearance Caxton in its light appearance

The same 10 GB document, both appearances, switched through the real macOS appearance APIs, not a CSS theme.

caxton pricing

One product, all features, two ways to pay.

Try first: download Caxton and the 7-day trial starts on its own: no credit card, no account. Buy whenever you're convinced.

Monthly
$9.99
per month
  • The full app, month to month
  • Cancel anytime
Buy monthly
Annual · two months free
$99.99
per year
  • The full app, cheaper by the year
  • Cancel anytime
Buy annual

Every plan is the same product. All features, all updates while the license is active, priority support. The only choice is how to pay.

Free, forever, after the trial. When the 7-day trial ends, or a subscription lapses, Caxton stays installed and opens everything read-only: any file size, scroll, search and filter with exact counts, copy, extract matches to a new file, the CSV grid with its filters and value counts, follow a growing log. Nothing locks, nothing uninstalls.

Paid is the editing. Type, Replace All and save back at any size; in the grid, edit cells, paste, fill series, sort, dedupe, add and reorder columns, convert the delimiter. Three Macs per license, every update while the license is active, and for a lifetime license, forever.

Buying for a team? Volume licensing with invoice billing is available from day one: hello@caxton.app.

The file is already on your disk. Open it.

7 days free, no credit card. Apple Silicon and Intel.

5 MB · macOS 13.0+ · notarized · SHA-256 766ddffc…56061c64
Install with Homebrew: brew tap hwyenigmallc/caxton then brew install --cask caxton

Major releases only. A few emails a year. No tracking, unsubscribe anytime.