# Why IndieCSV exists

> Find broken rows before an import, preview deliberate repairs, and keep every value on your device.

By turushan.

Published: 2026-09-05T00:00:00.000Z

Updated: 2026-09-18T20:04:42Z

Canonical: https://indiecsv.com/blog/why-indiecsv-exists/

A CSV can look ordinary until an import drops a leading zero, shifts a field into the wrong column,
or overwrites a duplicate header. I built IndieCSV to make those problems visible before the import.

Open one file or paste its text. The table shows what the parser sees, and the issue list points to
records that deserve a closer look. Everything runs locally in your browser. Your CSV does not go
to a server, into a URL, or into analytics.

## Inspect first, repair deliberately

[Papa Parse](https://www.papaparse.com/docs) reads the CSV. IndieCSV keeps its cells as strings and
its records as arrays, then checks field counts and repeated headers. A delimiter guess is shown
as a guess. You can choose comma, semicolon, tab, or pipe yourself.

You can add missing empty fields, remove empty records, trim whitespace, or prefix formula-like
text with an apostrophe. Each option describes a change to your data. The preview lists the changed
values before a download becomes available. Nothing is repaired merely because you opened a file.

Broken quoted fields need your judgment. They block export until you edit the original text and
inspect it again. The tool cannot know where a missing quote was meant to go.

## Keep the values you brought

CSV export quotes the fields, doubles internal quotes, and writes CRLF record separators, following
the common format described in [RFC 4180](https://www.rfc-editor.org/rfc/rfc4180). This changes the
serialization, but unselected cell values stay the same. JSON export is an array of row arrays,
including the first record. Two columns with the same heading remain two columns.

A spreadsheet may still interpret a numeric-looking cell or run formula-like text when it opens a
CSV. Import columns as text when identifiers matter. IndieCSV flags formula-like cells and offers
an explicit apostrophe-prefix option based on [OWASP's guidance](https://owasp.org/www-community/attacks/CSV_Injection).
That reduces risk; it does not promise safety across every spreadsheet and later edit. No formula
is evaluated here.

## One small workspace

The first release accepts UTF-8 text up to 2 MiB, with limits of 20,000 records, 250 columns, and
200,000 cells. The table is paginated. Larger files need splitting locally before inspection.

IndieCSV is not a spreadsheet, a cloud table, or a database connection. It keeps no automatic history.
The core is free, with no account, card, premium plan, or hidden paywall. Analytics is currently off, so no tracker receives your file or pasted text.

After exporting row arrays, [inspect and edit the JSON locally](https://indiejson.com/) if the next step needs a closer look at a value or subtree.

Read [the JSON export format and duplicate headers](https://indiecsv.com/#can-indiecsv-convert-csv-to-json-with-the-headers-as-keys). Use [IndieCSV](https://indiecsv.com/) to inspect CSV rows and preview each chosen repair before exporting.

## Sources

- https://www.papaparse.com/docs
- https://www.rfc-editor.org/rfc/rfc4180
- https://owasp.org/www-community/attacks/CSV_Injection
