How does CSV unescaping work?
A field that begins and ends with a double-quote is dequoted: the outer quotes are removed and every doubled-quote ("") inside is converted back to a single double quote ("). Fields without surrounding quotes are returned unchanged. Commas inside quoted fields are treated as literal data, not as column separators.
How are doubled double quotes ("") handled?
The doubled-quote convention from RFC 4180 means two consecutive double quotes inside a quoted field represent a single literal quote. The unescape parser walks the field one character at a time and collapses each "" into a single " in the output, restoring the original cell contents.
What about embedded newlines inside a field?
A newline inside a quoted CSV field is part of the field value, not a row terminator. This unescape tool processes input line-by-line, so multi-line fields are most useful when fed as a single logical row. For full multi-line CSV parsing, use a streaming parser like Papa Parse or Python's csv module.
What if my field is not quoted?
Plain unquoted fields require no unescaping. The tool detects them and passes them through unchanged. Only fields wrapped in matching outer double quotes are dequoted, so the operation is safe to run on mixed input.
Does it handle leading or trailing whitespace inside fields?
Whitespace inside a quoted field is preserved exactly. RFC 4180 says any whitespace inside the quotes is part of the value. Whitespace outside the quotes (between the comma and the opening quote) is implementation-defined; this tool keeps it as-is.
Will it work with semicolon or tab separated values?
The tool is configured for comma-separated input — the canonical RFC 4180 delimiter. Semicolon (common in European locales) and tab (TSV) follow the same quoting rules but use a different separator; you would adjust the split character to match your file.
Why are my fields shown joined by a pipe ( | )?
The output uses " | " between fields purely as a visual separator so you can see where each cell starts and ends after unescaping. The actual data inside each cell is the unescaped value — no pipe characters were introduced.
Is the data sent to your servers?
No. CSV unescape runs entirely in JavaScript inside your browser. The tool is safe for files containing customer data, financial records, or other PII — nothing leaves your machine. Verify with DevTools Network tab.