CSV Formatter / Viewer

Format & preview CSV

What Is This Tool?

The CSV Formatter parses raw CSV text — respecting quoted fields that may contain the delimiter, commas, or line breaks — and shows it both as a readable HTML table and as cleanly re-serialized CSV with consistent RFC 4180 quoting. It supports comma, semicolon, and tab delimiters.

How to Use

1

Paste CSV data with the first row as the header.

2

Choose the delimiter used in your data (comma, semicolon, or tab).

3

Click Format to see a table preview and re-serialized CSV.

4

Copy or download the cleaned-up CSV.

Features

  • Proper quoted-field parsing (handles delimiters and commas inside quotes)
  • Comma, semicolon, or tab delimiter support
  • Readable, horizontally scrollable HTML table preview
  • Consistent RFC 4180 re-serialization with quoting only where needed
  • Copy and download the formatted result
  • 100% client-side — nothing leaves your browser

Examples

Input:

name,age,note
Alice,30,"Likes, cats"
Bob,25,Simple note

The comma inside the quoted note field is preserved as a single cell, not split into two columns.

Common Use Cases

  • Previewing exported CSV data before importing it elsewhere
  • Cleaning up inconsistently quoted CSV from spreadsheets or exports
  • Converting semicolon-delimited European CSV to standard comma CSV
  • Spotting formatting mistakes in CSV data visually before sharing it

Frequently Asked Questions

How does it handle commas inside a field?

If a field is wrapped in double quotes, any delimiter characters, commas, or line breaks inside those quotes are treated as part of the field's text, not as a new column or row.

What delimiters are supported?

Comma, semicolon, and tab. Choose the one that matches your data before clicking Format.

What does "re-serialized CSV" mean?

It's your data written back out as clean CSV using RFC 4180 quoting rules: a field is quoted only when it contains the delimiter, a quote character, or a line break, and embedded quotes are escaped by doubling them.

Is the first row always treated as a header?

Yes, the first row is rendered as the table header (using <th> cells) and all subsequent rows are treated as data rows.

What if my rows have different numbers of columns?

Each row is rendered with however many cells it actually has; rows with fewer or more columns than the header will simply show a mismatched number of cells in the table.

Is my CSV data uploaded anywhere?

No, parsing and rendering happen entirely locally in your browser using JavaScript. Nothing is sent to a server.