Native for macOS 14 and later

The CSV editor for Mac that keeps your data intact.

Open CSV, Excel, JSON, Parquet, SPSS and eleven other formats. Edit them in a fast, native grid. Save them back byte for byte — 007 stays 007, 1/2 stays 1/2, Zürich stays Zürich.

  • 7 days free, 14 with an account
  • No card needed
  • Your files stay on your Mac
customers.csv · 231 bytes

Opened, edited or not, and saved. Green: kept.

customer_nonamecityorder_idportioncode
100731Zäch, Söhne & Co.Zürich2026091000000123451/2SEPT1
200732Brönnimann GmbHGenève2026091000000123463/4MARCH1
300733Talwind Energie AGChur2026091000000123471/81E5

0 of 18 values changed · detected: UTF-8, comma, CRLF, header row

SHA-256 after ⌘S 1210c2c416e319b0b1cda04edbcd0d21… identical

Illustration using a spreadsheet's default import settings and a wrong guess at the encoding. Recent versions of Microsoft 365 let you switch some conversions off.

0bytes

changed when you open a file and save it without edits — checked for every preset, UTF-16 and a million rows.

5.2M rows

on screen in well under a second. The whole 325 MB file is read about eight seconds later.

33formats

to export to, from CSV and Excel to Parquet, SPSS, SQL, PDF and Word.

8languages

English, German, French, Italian, Spanish, Portuguese, Dutch and Polish.

A1What “intact” means

Everything in the file is still there when it leaves.

Spreadsheets were made for calculating, so they turn what looks like a number into one, and what looks like a date into a date. A data file is not a calculation. Intact CSV Editor shows you what is in it, and writes back what was in it.

What is in the fileAfter a spreadsheet round tripAfter Intact CSV Editor
Leading zeroscustomer numbers, postcodes, article numbers 731The zeros are gone, and so is the match with every other system. 00731A code stays a code.
Fractions, ranges, versions1/2, 3/4, 1-2 2-JanRead as a date, and saved as one. 1/2Exactly as written.
Gene names and product codesSEPT1, MARCH1, 1E5 1-Sep 1.00E+05In 2020 human genes were renamed partly because spreadsheets kept doing this. SEPT1 1E5Text is text.
Long identifiersorder numbers, 18-digit SSCC shipping codes 202609100000012000Only 15 digits are kept; the rest become zeros. 202609100000012345Every digit.
Accents and encodingsUTF-8, UTF-16, Windows-1252, Mac Roman, EBCDIC … ZürichA wrong guess at the encoding garbles every accent. ZürichOver 80 encodings detected and written back as they came.
The file's own dialectseparator, quotes, line endings, byte-order mark rewrittenSaved in the spreadsheet's own separator, quoting and line endings. ; CRLF BOMKept, and changed only if you change it.
Comment lines# exported 2026-09-01 row 1Turned into data, or dropped. # keptRemembered, and written back where they were.
A character the encoding cannot holda € typed into a Latin-1 file ?Quietly saved as a question mark. refusedThe save stops and says which character, in which cell.

Spreadsheet behaviour shown is Microsoft Excel's default import on US settings; recent versions of Microsoft 365 let you switch some of these conversions off. How to stop Excel changing your data.

B1The app

A grid that feels like the Mac, and knows what a data file is.

Native Swift and AppKit, light and dark, tabs for every file, and a keyboard shortcut for nearly everything. Open a file and the app tells you what it found — and what it had to guess.

  1. 1

    The dialect, shown

    Separator, quotes, encoding and line endings are detected, named, and yours to correct. Anything guessed says how sure it was.

  2. 2

    A filter on every heading

    A column's values, most common first, with counts. Tick to keep. ⇧-click headings to sort by several columns.

  3. 3

    The status bar adds up

    Count, sum, average, minimum and maximum of any selection — each one a click away from the clipboard.

  4. 4

    Flags that stay put

    ⌥-click a row number to flag it. Flags survive sorting, filtering and inserting — a selection cannot.

  5. 5

    Every file in a tab

    A CSV, a workbook and a Parquet file side by side; ⇧⌘P finds any of the app's commands by a few letters.

C1Features

Everything a table of data needs. Nothing a CSV cannot hold.

No cell colours, no merged cells, no formulas that would never survive the save. Instead, the tools people actually reach for when a file arrives from somewhere else.

Editing

  • Type over a cell, with the column's own values offered as you type
  • Fill handle that continues numbers, dates and Item 1, Item 2
  • Drag rows and columns; select several blocks at once
  • Paste transposed; type one value into every selected cell
  • Undo for everything, sorts and bulk replacements included
Editing in detail →

Find, filter, sort

  • Regular expressions with a preview before Replace All
  • Filter as you type, or with conditions: between, at least, begins with
  • Sort by several columns; a third click restores the file's order
  • Saved filters, offered in every window
  • Flag rows by hand and walk through them
Finding and filtering →

Clean-up

  • Remove duplicates judged on the columns that matter
  • Trim, eleven kinds of case, split and join cells
  • Rewrite dates between ISO, day-first, US and Excel serials
  • Convert 1'234.501.234,501,234.50
  • Show tabs, line breaks and invisible spaces
Cleaning data →

Analysis

  • SQL across every open file, MySQL-flavoured
  • Summarise into a pivot with subtotals
  • Statistics for every column, with quantiles
  • Look values up in another table
  • Compare two files, down to the changed character
Analysis tools →

Automation

  • JavaScript macros that land as one step of undo
  • Send the table through any program — awk, jq, Python
  • AppleScript and Shortcuts
  • The icsv command line and intact-csv:// links
  • Saved export formats, one click away
Automation →

Quality

  • Rules for each column: required, unique, a range, a list, a pattern
  • Rules suggested from the data itself
  • Problems washed orange in the grid, one shortcut to the next
  • Rules kept beside the file in a small sidecar
  • Lock a document against accidental changes
Validation →
D1SQL

Ask your files questions in SQL.

Every open document is a table named after its file. Join a CSV to a workbook, save a query as a view, open the answer as a new document — without a database server, and without importing anything.

  • MySQL-flavoured: backticks, GROUP_CONCAT, DATE_FORMAT, REGEXP and MySQL's function library
  • Amounts written 1'234.50 or 987,25 compare and add up as numbers
  • Paste a MySQL dump or script as it stands
  • Read a file that is not open: FROM "@file:/Exports/archive.csv"

Query CSV files with SQL

E1Macros

When a click is not enough, write three lines.

Macros are plain JavaScript run over the selection or the whole table, in the vocabulary Tablecruncher uses. They run on a snapshot and land as one step of undo — a script that stops half way changes nothing.

  • A searchable guide beside the editor; click a function to insert it
  • Dates, numbers and text helpers that read CHF 12.50 and 1.234,50
  • Or hand the table to any program on standard input and read back what it writes
  • AppleScript: export table to "~/Desktop/sales.xlsx"
F1Formats

Much more than CSV.

Whatever the file is, it opens as a table — recognised by its bytes, not its name, so a workbook saved as export.dat still opens as a workbook. Saving writes the same format back; Save As converts.

33

kinds of data it opens

Spreadsheets & documents

33

formats it writes

Delimited text

CSVTSVFixed-width text

Spreadsheets

Excel .xlsxOpenDocument .ods

Structured data

JSONNested JSONJSON LinesYAMLXMLProperty list

Databases

SQL insertsSQLite database

Data engineering

Apache ParquetApache AvroApache ORCApache ArrowBSONHDF5

Statistics

SPSSStataSAS transportR dataMATLAB

Mainframe

COBOL copybookMainframe data (EBCDIC)

Documents

PDFWord .docxRich TextHTMLMarkdownLaTeXAsciiDoc

All formats in detail

G1Large files

Millions of rows, without the wait.

Enough rows to fill the window are read before it appears; the rest streams in while you scroll, edit and search. Values are held as UTF-8 bytes, so five million rows take 186 MB instead of 816 MB.

  • 5.2 million rows on screen in well under a second
  • Filtering, searching and statistics off the main thread
  • Nothing is saved from a half-read file — ever
  • No 1,048,576-row ceiling

One million rows × 7 columns

52 MB CSV · seconds, less is better

First rows on screen0.05 s
Detect the format0.03 s
Save, byte for byte0.20 s
Grouped SQL query0.40 s
Load into SQL1.10 s
Filter every row1.50 s
Read the whole file2.00 s
00.5 s1 s1.5 s2 s

Measured on a release build on the Mac the app is developed on. Your Mac may be faster or slower.

H1Safety

Built by people who have lost a file.

The one thing an editor of other people's data must never do is lose it. So every save keeps the version before it, and every edit is journalled until it is saved.

A copy before every save

What was on disk is kept aside for 30 days. Restore from Backup shows each version with a preview.

Recovery after a crash

Unsaved work is journalled a few seconds after each edit, and offered back — as a copy, never over your file.

Knows when a file changes

If Excel, a script or a sync client writes to an open file, a bar offers Reload or Keep Mine.

Undo for everything

Sorts, macros, bulk replacements and pasted blocks each come back with ⌘Z.

Never a silent question mark

A character the file's encoding cannot hold is refused, and the app says which one and where.

Locked when you need it

Lock a document and nothing edits it by accident — not typing, not pasting, not a bulk clean-up.

I1Comparisons

Against every one of them, Intact does more.

We looked for all 57 of Intact CSV Editor's features in the websites and documentation of eleven competitors — and checked every feature they list in return. Blue: what we did not find in theirs. Grey: what Intact CSV Editor does not have yet.

Only in Intact CSV EditorOnly in the other product
49Tad1
29Caxton19
J1Made in Zürich

A Mac app, made carefully, by people you can call.

Intact CSV Editor is made by MarketVision AG, a web design and Apple support company in Zürich. It is built for one job: opening the files other programs get wrong, and handing them back untouched.

  • Native. Swift and AppKit, about a quarter of a second to start
  • Private. No account needed; your files are never uploaded
  • Tested. More than 3,400 automated tests guard every reader and writer
  • Answerable. A company in Zürich with a phone number

About us

K1Questions

Questions people ask first.

Does Intact CSV Editor change my files?

Only where you change them. Open a file and save it without edits and you get the same bytes back — the same separator, quoting, encoding, byte-order mark and line endings. That is checked by automated tests for every preset, for Windows-1252 and UTF-16 files, for values with line breaks inside them and for a file of a million rows. When you do edit, the values you did not touch are written back exactly as they were.

Can it open Excel files?

Yes — .xlsx and OpenDocument .ods, including shared strings, dates and workbooks with several sheets. Saving writes a workbook again, not a CSV with the wrong ending. More about workbooks.

How large a file can it open?

Millions of rows. A 325 MB file of 5.2 million rows is on screen in well under a second and fully read about eight seconds later, while you already scroll and search. The table is held in memory as compact UTF-8, so your Mac's memory is the limit rather than a row count. Opening large files.

Are my files uploaded anywhere?

No. Everything happens on your Mac. The app only talks to the network when you ask it to — opening a file from a link, signing in, checking for updates (off unless you switch it on) — with one exception: a small usage count (a random number, the app and macOS versions, your region and language, never anything about a file) that you can turn off in Settings. Privacy in detail.

Does it work offline?

Yes. Files never need the network, and the licence is checked now and then and keeps working in between — on a train, on a plane, in a basement server room.

Which Macs does it run on?

Any Mac with macOS 14 Sonoma or later. It is a native Mac app written in Swift, so it looks and behaves like the rest of your Mac, in light and dark.

What does it cost?

You can try every feature free: seven days without an account, fourteen days once you sign in with a confirmed email address. No card is needed. Pricing.

Which languages does it speak?

English, German, French, Italian, Spanish, Portuguese, Dutch and Polish — menus, settings, inspector, sheets and the command palette.

All questions and answers

Open your most difficult file.

Every feature for seven days, fourteen with a free account. No card, and your files never leave your Mac.

Download free trial

macOS 14 Sonoma or later · See pricing