Open, inspect, search, sort, and edit CSV and TSV files instantly. Automatically detects delimiters, profiles column data types, and preserves leading zeros without formatting corruption.
Drag & drop your delimited text file or paste raw rows to inspect immediately.
Comma-Separated Values (CSV) and Tab-Separated Values (TSV) represent the most ubiquitous flat-file data exchange formats across modern software engineering, database administration, business intelligence, and analytical data science. Despite their conceptual simplicity, parsing delimited character streams reliably requires strict adherence to formalized structural grammars. The authoritative specification governing CSV format integrity is RFC 4180 ("Common Format and MIME Type for Comma-Separated Values (CSV) Files").
An RFC 4180-compliant parsing engine operates as a deterministic Finite State Machine (FSM) that processes an input character stream through distinct lexical states:
, or \t) or a record terminator (\(\text{CRLF}\) or \(\text{LF}\))."). Within this state, delimiters, spaces, and newline characters (\(\text{CRLF}\)) are treated as literal cell values rather than structural boundaries.""). If so, it unescapes the sequence into a single literal quotation mark; if followed by a delimiter or newline, it closes the quoted field state.``
┌───────────────────────────────┐
│ ▼
[Field Start] ──(")──► [Quoted Field] ──(")──► [Quote Check] ──(")──► (Literal ")
│ │ │
(char) (CRLF/,) (CRLF/,)
│ │ │
▼ ▼ ▼
[Unquoted Field] ────► [Literal Data] ───────► [Close Field]
``
Delimited files are raw binary streams that rely on external encoding definitions. A frequent source of file corruption across operating systems is mismatched character encodings:
"id" to "\uFEFFid").é) if decoded naively as standard UTF-8.ZechKit CSV Viewer utilizes the HTML5 TextDecoder API with dynamic fallback detection, seamlessly stripping BOM prefixes and transcribing wide-character streams into standard Unicode strings before lexical tokenization.
Delimited datasets do not always use commas. European financial exports commonly use semicolons (;) because commas serve as decimal marks in locales like Germany and France. Tab-separated values (\t) dominate bioinformatics and log files, while pipe delimiters (|) are standard in legacy database extracts.
To determine the active delimiter without requiring manual user selection, the parsing engine samples the first \(N\) rows (where \(N \ge 20\)) and computes the frequency and consistency of each candidate delimiter \(d \in \{',', '\t', ';', '|'\}\):
$$\bar{c}_d = \frac{1}{N} \sum_{i=1}^{N} c_{i,d}$$
$$\sigma_d^2 = \frac{1}{N} \sum_{i=1}^{N} (c_{i,d} - \bar{c}_d)^2$$
Where \(c_{i,d}\) represents the number of occurrences of character \(d\) outside quoted strings in row \(i\). The candidate delimiter that exhibits a high average occurrence (\(\bar{c}_d \ge 1\)) and the lowest variance across all sampled rows (\(\sigma_d^2 \to 0\)) is selected as the active delimiter. This mathematical guarantee ensures that files with uneven commas inside address fields are not misclassified if consistent semicolon separators structure the overall dataset.
Opening raw CSV files in traditional desktop spreadsheet applications introduces severe, permanent data corruption risks:
| Risk Category | Traditional Desktop Spreadsheet Behavior | ZechKit CSV Viewer In-Browser Behavior |
| :--- | :--- | :--- |
| Leading Zeroes | Automatically strips "01234" to integer 1234, destroying US ZIP codes and bank routing numbers. | Preserves raw string tokens immutably; zeroes remain intact. |
| Long Numerical IDs | Truncates 16+ digit credit cards, tracking codes, or database UUIDs into scientific notation (1.23E+15). | Treats numerical IDs as exact character sequences without floating-point rounding. |
| Formula Injection (CSV/DDE) | Executes malicious formulas starting with =, +, -, or @ (e.g., =cmd|' /C calc'!A0). | Renders cell contents strictly as plain text, eliminating formula execution vectors entirely. |
| Date Auto-Casting | Converts alphanumeric product codes like "1-2" or "MAR1" into calendar dates (01/02/2025). | Keeps alphanumeric SKU codes in their exact original text representation. |
Rendering datasets with tens of thousands of rows directly into the Document Object Model (DOM) will inevitably crash web browsers due to DOM tree memory exhaustion. ZechKit CSV Viewer resolves this using Client-Side Virtualized Windowing:
Traditional cloud file conversion websites require users to upload their documents to remote servers, exposing personally identifiable information (PII), confidential payroll ledgers, trade secrets, and protected health information (PHI) to data breaches and third-party storage logging.
ZechKit CSV Viewer processes all datasets 100% client-side inside the sandboxed memory of your web browser. Zero bytes leave your machine, satisfying the strict data residency and privacy mandates of GDPR (Article 25 - Data Protection by Design), HIPAA Security Rule, and SOC 2 Type II frameworks.
Scenario: A marketing specialist exported a 5,000-row customer list containing US zip codes (e.g. '01234') and international phone numbers that standard spreadsheet apps corrupt.
5,000-row CSV file (customer_list.csv, 450 KB)
Instant tabular view with intact '01234' zip codes and searchable phone numbers
The viewer preserved all string types with zero auto-truncation and allowed quick search by state.
Scenario: A developer needs to quickly inspect a tab-separated server access log with 12 columns without importing it into a database.
Tab-delimited server log (access_log.tsv, 1.2 MB)
Structured 12-column table with sortable HTTP response codes and response time filtering
Auto-detected tab delimiters and provided instant filtering for 500 error status codes.
Convert CSV and TSV files into formatted Microsoft Excel (.xlsx) workbooks.
Clean messy CSVs by trimming whitespace, standardizing headers, and fixing empty rows.
Detect and remove duplicate rows from CSV files with custom key column selection.