Contact

Tools  /  Generators  /  CSV → HTML Table

CSV → HTML Table

Convert CSV (or TSV / pipe-delimited) into a clean, accessible HTML table — real RFC-4180 quote parsing, auto delimiter detection, a header row and optional row headers, a caption, right-aligned numeric columns, zebra striping, a sticky header, a responsive scroll wrapper and optional click-to-sort — with a live rendered preview and HTML + CSS (+ JS) output, or Markdown, a JSON array, or a React component.

What this tool does

It parses delimited text and builds a proper HTML <table>, rendering it live as a real table you can see and sort.

Parsing

It follows RFC 4180: fields wrapped in double quotes may contain the delimiter, line breaks and escaped quotes (""). The delimiter is detected automatically (comma, tab, semicolon or pipe) or you can set it.

Semantics

The first row becomes <th scope="col"> in a <thead>. Turn on row headers and the first cell of each row becomes <th scope="row">. A <caption> names the table for screen readers.

Presentation

Columns that are entirely numeric are right-aligned. Add zebra striping, a sticky header, and a scroll wrapper so wide tables never break the page.

Sorting

Optional ~25 lines of JS makes every column header a sort toggle with aria-sort, doing numeric or string comparison automatically.

Output

HTML + CSS (+ JS), a Markdown table, a JSON array of objects, or a React component.

Privacy

Everything runs in your browser. Nothing is uploaded.

Frequently asked questions

Does it handle commas inside quoted fields?
Yes. "Doe, Jane",42 parses as two cells. Escaped quotes ("") and line breaks inside quotes are handled too, per RFC 4180.
How is the delimiter detected?
It counts commas, tabs, semicolons and pipes in the first line and picks the most frequent. You can override it with the delimiter control.
Why are some columns right-aligned?
When every non-empty cell in a column parses as a number, that column is right-aligned (with tabular figures) — the convention for numeric data. You can turn it off.
What does the Markdown output look like?
A GitHub-flavoured pipe table with a separator row; alignment colons are added for numeric columns.
Is anything sent to a server?
No. Parsing and rendering happen entirely in your browser.
Theme Accent