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.
Not a mockup: this is Caxton holding the 10 GB benchmark log. 80,610,954 lines in the status bar.
The large-file workflows Mac users have looked to EmEditor on Windows for, rebuilt as a native Mac app.
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 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.
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.
Filtered to ERROR: 160,846 matching lines out of 8 million, original line numbers preserved, applied in about a quarter of a second.
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.
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.
Two million rows of order data, all of them, with typed columns and a frozen header.
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.
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.
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. Fill series, dedupe and column operations live on the same grid.
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.
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.
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.
The same 10 GB document, both appearances, switched through the real macOS appearance APIs, not a CSS theme.
Try first: download Caxton and the 7-day trial starts on its own: no credit card, no account. Buy whenever you're convinced.
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.
7 days free, no credit card. Apple Silicon and Intel.
brew tap hwyenigmallc/caxton then brew install --cask caxton