Inspect large delimited files without loading every row at once
CSV is a family of conventions rather than one perfectly uniform format. Delimiters, quoting, embedded newlines, encodings, and uneven row lengths all affect how a file appears.
The viewer reads manageable ranges and builds bookmarks for later portions of a large file. It is designed for inspection and modest corrections, not as a replacement for a database or a full spreadsheet calculation engine.
CSV is a convention with many dialects
Comma, semicolon, tab, and pipe delimiters are common. Quoted fields can contain delimiters and newlines, while escaped quotes need consistent handling.
A wrong delimiter may produce one giant column. A broken quote can shift thousands of later rows. Inspect raw text near the first anomaly rather than correcting every shifted cell.
Encoding errors look like data errors
UTF-8 is common but not universal. Legacy encodings can turn accented letters and symbols into replacement characters or misleading byte sequences.
Convert a copy with a known encoding tool when necessary, then reopen and compare a sample of names and non-ASCII text.
Range navigation changes how you review
The viewer displays manageable row ranges and records periodic offsets to make later jumps practical. This avoids constructing an enormous DOM table for the entire file.
Sampling creates responsibility: inspect early, middle, late, and boundary ranges. A clean first hundred rows says little about malformed records near the end.
Exports need independent reconciliation
Edits and serialization can change quoting, line endings, or representation even when visible values look the same. Save to a new filename and keep the source.
Open the export in a second parser, compare row and column counts, and spot-check edited rows plus their neighbors. For critical transformations, use a reproducible data pipeline rather than manual edits.
Protect row meaning when editing and exporting
A small edit can change more than one cell if delimiter, quoting, line ending, or encoding assumptions differ between the source and destination. Before editing, record the detected delimiter, header names, and approximate row count. After export, reopen the new file as a fresh input and inspect rows containing commas, quotes, non-ASCII characters, empty values, and embedded line breaks. Compare a few stable identifiers with the source so shifted columns are obvious. If another system will import the result, use a non-production test import first and keep the untouched source available for rollback and comparison.
Quick start: LocalUtils
- Open a copy of the file and confirm that the detected delimiter produces sensible columns.
- Review the header and the first range before jumping deeper into the file.
- Use row navigation to inspect later ranges; bookmarks are created periodically to avoid reparsing from the beginning for every jump.
- Make only deliberate edits, save an export, and compare row counts and critical columns with the source.
What the browser does
Papa Parse handles CSV parsing in a worker. The viewer exposes ranges of roughly 100 rows and records file offsets at intervals of about 10,000 rows for faster seeking.
The selected CSV is read by the browser rather than uploaded to a LocalUtils parsing server. File encodings and parser behavior still determine whether every character and quoted field is interpreted correctly.
Inputs and outputs
- Input: delimited text files readable through the browser File API.
- View: paged ranges with detected columns and row navigation.
- Output: an exported CSV reflecting supported edits; spreadsheet formulas and workbook features are outside the format.
Limits to know before you start
- Encoding detection is limited; a file may need conversion to UTF-8.
- Malformed quoting or embedded newlines can shift columns.
- Edits are browser-memory operations and are not a transactional database workflow.
- Very wide rows, huge fields, or limited device memory can still affect responsiveness.
Verification checklist
- Compare header names, row count, and delimiter with the source.
- Inspect early, middle, and final ranges rather than only the first screen.
- Open the export in another parser and spot-check edited cells and surrounding rows.
Troubleshooting
- If all data appears in one column, choose the correct delimiter or inspect the source with a text editor.
- If accents look wrong, convert a copy to UTF-8 before reopening.
- If row counts differ, check for quoted newlines, blank trailing records, and parser warnings.
Questions people ask
Why does Excel show something different?
Spreadsheet software applies its own delimiter, locale, date, formula, and type inference rules. CSV itself stores text fields, not workbook types.
Can a CSV contain a formula?
A field can begin with formula characters, and spreadsheet software may execute it on open. Treat untrusted exports carefully.
Why does the final row count differ?
Blank records, quoted newlines, malformed rows, and parser configuration can all change what is counted as a row.
