Millions of rows.
Zero surprises.
Tabulay is the CSV workbench for Mac. Open files your spreadsheet can’t, ask them anything, clean them with a preview of every change, and save exactly what you changed. Nothing more.
Spreadsheets were made for rows you type. Not for millions you receive.
Bank exports, order histories, stock files, research data: the files that matter arrive as CSV. Open one in a spreadsheet, with its default settings, and three quiet things can happen.
The last row of an Excel worksheet. Row 1,048,577 isn’t there. A Numbers table stops at 1,000,000.
Excel keeps 15 significant digits. In a 16-digit ID or card number, the last digit becomes a zero.
Source: Microsoft
By default, values that look like dates become dates and leading zeros disappear. In 2020, geneticists renamed 27 human genes, SEPT1 and MARCH1 among them, partly for this reason.
Sources: Microsoft, Nature Genetics
Tabulay is built on one rule: never change a value you didn’t ask to change. Everything below follows from it.
Big files, open in seconds.
Tabulay doesn’t load your file into a spreadsheet. It indexes it: one quick pass notes where every row begins, then only the rows on your screen are parsed. The figures below were measured on a file of 1.3 million rows.
to index 1.3 million rows1
to show the first rows1
to check the type of every value1
to save after an edit1
Mapped and indexed
macOS maps the file instead of copying it into memory, and one pass indexes every row. A row is parsed only when it’s shown or queried.
Every row checked
Tabulay proposes a type for each column from a sample, then checks every row in the background. The header counts what doesn’t fit.
2 GB, then read-only
Files up to 2 GB open for editing. Larger files still open, read-only, so you can look through them safely.
Know a column before you trust it.
Click a column and the inspector shows what’s really in it: its type, how much of it conforms, the range of a number column, a histogram or the most frequent values (click one to filter), and the exact values that don’t fit. Problems show up before they reach your report.
Try it: click a column header. Sample from shop_orders.csv, one of four files that come with Tabulay, with three problems planted in unit_price for this demo. The file in the app has none.
Two-line headers
Each header shows the column’s name, its type (date, dec(12,2), enum(5)) and how many values don’t fit it.
Issues with a next step
Each issue card shows examples and a next step: Normalize (Tabulay Pro) for values that don’t fit, Show or Filter for empty ones.
Column insights Pro
A box plot of a number column (percentiles, mean, standard deviation, outliers), its average or sum per category and over time, and the timeline of a date or text column. Over the rows in view, computed on your Mac; click a category to filter.
Click to filter. Or type SQL. Same rows.
Filter chips answer the everyday questions in two clicks: this country, that status, over this amount. Each chip is a line of SQL, so you can switch to the editor at any moment and pick up exactly where you were. Running your own SQL needs Tabulay Pro.
Right-click any value
Show only this value, hide it, or keep rows at least or at most this number or date. Filtered columns say so in their header.
Find, then filter
⌘F finds text across every cell. Turn on Matching rows only (⇧⌘F) and everything else steps aside.
Totals in exact decimals
Select a number column, decimal commas included, to see its sum, average and count in the status bar, with a warning when currencies are mixed. It adds up to 200,000 rows and says when it stops; SQL totals the whole file.
Ask your file a question.
A full analytical SQL engine is built in. Your file is a table named after itself, or simply this. Group, pivot, rank, compute growth and percentiles on millions of rows, with no import step and no database to set up.
Queries written for the sample files that come with the app, and tested on them. Results computed from the full files.
Examples that know your columns
The Examples menu writes queries from your own file: totals and shares, top 3 per group, statistics, outliers, monthly growth, pivots.
Errors that help
Unknown column “amont”. Did you mean amount? A mistyped column name gets the closest match.
See the real plan
Explain shows how the engine will run your query, with timings on request. ~ matches regular expressions.
See every change before it happens.
Find & replace, split, merge, computed columns, normalize: each shows you the exact changes, and how many there are, before anything is touched. Then it all happens as one step you can undo.
Regular expressions, with groups
Match with a pattern, rebuild with $1, $2. Case-sensitive or not, one column or all of them.
Normalize without guessing
In a column written with decimal points, a stray -1.234,50 becomes -1234.50. 1,234 could be either 1234 or 1.234, so Tabulay leaves it and tells you.
Split, merge, derive
Split Lille, France into two columns, merge with a template like {amount} {ccy}, or derive a column from an expression.
See duplicates before they’re gone.
Two payments of €49.90 to the same supplier on the same day can both be real. So Tabulay compares every column by default, lists the duplicate groups before anything is removed, and warns you if you leave out the column it found to be the file’s ID.
Try it: untick txn_id and watch the second group appear.
What changed between two files, row by row.
Compare yesterday’s export with today’s, or your file with the one that came back from review. Rows are matched on an ID column, so a moved row isn’t a change, and every changed field shows its before and after.
Matched on your key
Pick the shared ID column, or compare by position when there isn’t one.
Every kind of change
Added, removed and changed rows, columns found in only one file, and IDs that appear twice.
Export the differences
Save the whole comparison as a CSV, to share or to keep with the audit trail.
Every change is a step you can take back.
Each edit, replace, delete and cleanup is recorded as one named step. Undo, redo, or click any point in the History to return to it. Your file on disk isn’t touched until you save.
Named steps
The Edit menu says exactly what it will undo: Undo Replace in memo, not just Undo.
History as a script
The whole session reads as a pipeline you can copy and keep next to the file, to show what was done.
Edits like a spreadsheet
Type to edit, paste from Numbers or Excel, fill down with ⌘D, insert and delete rows and columns.
Saved exactly. Byte for byte.
When you save, the rows you didn’t touch are copied from the original byte for byte: same delimiter, same quotes, same encoding, same line endings. Edited rows are written with the file’s delimiter, encoding and line endings, quoted only where needed. Add, delete, split, merge or compute a column, and every row is written that way. Open and save without edits, and the file is identical.
What your other tools expect
Semicolons, CRLF, Windows-1252, a byte order mark, line breaks inside quotes: whatever your bank, ERP or pipeline sent is what it gets back.
Refuses to damage
A character that can’t be written in the file’s encoding stops the save and names the value and its column, instead of being replaced by a question mark.
Safe writes
Tabulay checks the free space, writes a complete new file, and swaps it in only when it’s done. A crash mid-save can’t leave half a file.
Opens the messy file as it is.
Semicolons, decimal commas, dd/MM/yyyy dates, accents in an old encoding: Tabulay detects the dialect on its own, and File ▸ Open with Options… shows you the result before opening. Amounts written -1.234,50 open as numbers. Excel workbooks open like any CSV, and are never changed.
Detected, then shown
Open with Options (⇧⌘O) shows the delimiter, encoding (UTF-8 or Windows-1252), header row, decimal separator and date format, each with a live preview.
Excel workbooks Pro
Open with Options lets you pick a sheet and say whether its first row is the header; Open takes the first visible sheet. Values come out plainly: numbers without grouping or currency symbols, dates as ISO. ⌘S asks where to save the CSV: the workbook is never written.
Your default for CSV
Tabulay can become the app that opens .csv, .tsv and .xlsx files when you double-click them in Finder.
Card numbers, masked in the grid.
Finance files sometimes hold card numbers. Tabulay finds them, shows only the last four digits in the grid, keeps copies off clipboard history, and warns you before a save or an export writes a column of card numbers in full.
Found by checksum
13 to 19 digits that pass the Luhn checksum and carry a card network’s prefix, even inside text such as “paid with…”.
Kept off the clipboard
Cells copied from the grid that contain card numbers stay on this Mac and are marked concealed, so clipboard history apps don’t record them.
Enforced by IT
Masking, clipboard protection, save warnings and memory-only working copies can be enforced with a configuration profile. Security overview
Can’t send your data. Not won’t. Can’t.
Mac App Store apps must declare what they’re allowed to do. Tabulay never asked for network access, so macOS blocks any connection it could try. Your files stay on your Mac because there is no other way for them to go.
The developer does not collect any data from this app. That’s the label Tabulay will carry on the Mac App Store.
No account
Nothing to sign up for, nothing to sign in to.
Feedback on your terms
Send Feedback opens your own mail app with a message you read before sending.
Feels like it came with your Mac.
Tabulay is built with AppKit, the framework behind Apple’s own apps. Tabs, full menus, shortcuts for the common commands, Dark Mode, Increase Contrast and VoiceOver. In the app, the command palette reaches every command: press ⌘K on this page to feel it.
Made for the people who get the file.
If your week starts with an export, Tabulay is for you. A few of the questions it answers in a minute.
Finance and accounting
Bank exports with semicolons and decimal commas, ledgers, payment reports. Amounts like -1.234,50 are numbers: they sort, filter and total to the cent, and save as written.
E-commerce and inventory
Order histories and stock files that outgrew the spreadsheet a year ago.
Data and analytics
Pipeline outputs and extracts, checked in a minute with SQL, no database to set up.
Support and operations
Ticket and SLA exports that pivot tables struggle with.
Research
Instrument output, gene lists and survey data, where an identifier must stay exactly as written.
IT and security
Files with card or personal data, handled on managed Macs with enforceable settings.
Pay once for power. Never for access.
Download Tabulay free and use everything for 14 days. After that, opening, editing and saving CSV and TSV files stay free, forever, up to 2 GB (larger files open read-only). Tabulay Pro is one purchase for the power tools.
Tabulay
Free forever, after a 14-day trial of everything.
- Open CSV and TSV files up to 2 GB (larger ones read-only)
- Sort, filter chips, find, status-bar totals
- Edit, paste, insert and delete rows and columns
- Full history with undo and redo
- Byte-exact save
- Column profile and type checks on every row
- Card number masking and protections
Your files and your edits are always yours to save, whatever happens to the trial.
Tabulay Pro
A single in-app purchase. No subscription.
- Everything in Tabulay
- SQL, with Examples and query plans
- Column insights: spread, breakdowns, timelines
- Find & replace, split, merge, computed columns
- Normalize decimals and dates
- Dedupe and Compare
- Excel workbooks (.xlsx)
- All 1.x updates included
Price in US dollars; the Mac App Store shows your local price. The trial is a free in-app purchase, so you choose when it starts.
Questions, answered plainly.
When can I get Tabulay?
Tabulay is finishing its last round of testing and will be on the Mac App Store soon. Leave your email and we’ll write once, on launch day.
What does it cost?
Tabulay is a free download with a 14-day trial of every feature. After the trial, opening, viewing, sorting, filtering, finding, editing and saving stay free. Tabulay Pro, a one-time purchase of $29.99, keeps SQL, query plans, column insights, Transform, Dedupe, Compare, Normalize and Excel workbooks. There’s no subscription.
What does it need?
macOS 14 Sonoma or later.
How big a file can it open?
Files up to 2 GB open for editing, which is millions of rows. Larger files open read-only. Speed depends on the file and the Mac: on our 1.3-million-row test file, indexing took about a third of a second with a release build of the core engine.1
Will Tabulay change my file?
Only where you change it. Saving copies every untouched row byte for byte, and writes edited rows with the file’s delimiter, encoding and line endings, quoted only where needed. Adding, deleting, splitting, merging or computing a column rewrites every row that way. Opening and saving a file without edits leaves it identical.
Does my data leave my Mac?
No. The app has no permission to use the network, so macOS blocks any connection. There’s no account and no analytics. Its App Store privacy label will read “Data Not Collected”.
Do I need to know SQL?
No. Filter chips, right-click filters, sorting and Find cover everyday questions without SQL, and they’re free. When you want more, the Examples menu writes SQL from your own columns for you to adapt, and running it needs Tabulay Pro.
Does it open Excel and Numbers files?
Tabulay Pro opens Excel workbooks (.xlsx): you choose a sheet and work on it like a CSV, and the workbook itself is never changed. Older .xls files and Numbers documents aren’t supported: export them as CSV or .xlsx first.
Is Tabulay PCI DSS compliant?
Standards like PCI DSS and ISO 27001 apply to organizations, not to apps, so no app can be “compliant” on its own. Tabulay helps you meet specific requirements, such as masking card numbers in the grid (PCI DSS 3.4.1) and truncating them before storage. The security overview maps each requirement.
Is the app available in French?
The app is in English for now. Its App Store page and this website are in English and French.
Windows or Linux?
Not planned. Tabulay is a Mac app through and through, built with the Mac’s own frameworks.
Who makes Tabulay?
Alain Deléglise, an independent developer in Lille, France, publishing as Expertise By Me. Questions go straight to him at hello@tabulay.app.
Get Tabulay on day one.
Leave your email and we’ll write once, the day Tabulay is on the Mac App Store. Then we delete the list.
1. Measured on a 207 MB, 1.3-million-row CSV file with a release build of Tabulay’s core engine, September 2026. Actual times vary with the file and the Mac.
The demos on this page are recreations of the app in a web browser, with sample data. Company names in the samples are fictional.