🔧 Mode
Paste tab-separated rows (one row per line); the tool exports to the selected output format.
Paste a table in the selected input format; the tool extracts headers + rows and re-renders in the selected output format.
📝 Source
tab-separated📥 Input format
⚙️ Options
📤 Output format
📤 Output
📊 Table dimensions
ℹ️ About Table Generator
What does the Table Generator do?
The Table Generator converts a 2-D table — rows of cells with an optional header row — between four interchange formats: Markdown (GFM), HTML, CSV (RFC 4180), and TSV. Paste a tab-separated table from a spreadsheet and export to a GitHub-flavoured Markdown table for documentation, an HTML table for a static page, a CSV for spreadsheets, or a TSV for shell pipelines.
It also parses tables back into structured data so you can round-trip between formats without losing rows, columns, or header information.
Supported formats
- Markdown (GFM): pipe-delimited, with a separator row carrying the column alignment markers
(
:---left,:---:center,---:right). Cells are padded to the column width for readability. - HTML: a standard
<table>with<thead>/<tbody>,<th>/<td>cells, and HTML-escaped content (&,<,>). - CSV (RFC 4180): comma-separated. Cells containing a comma, double quote, CR, or LF are wrapped in double quotes; internal double quotes are doubled.
- TSV: tab-separated. Cells with internal tabs, newlines, or carriage returns collapse those characters to a single space so each row stays one line.
Common use cases
- Spreadsheet → Markdown: copy a range from Google Sheets or Excel (paste lands as TSV) and export a clean GFM table for a README or wiki page.
- Markdown → HTML: turn a pull-request table comment into HTML for a static doc site.
- CSV → TSV: normalise a delimited file for an awk / cut shell pipeline.
- Round-trip cleanup: parse a messy CSV, re-render it as CSV with consistent quoting.
- Documentation tables: author a tab-separated draft and copy out the GFM equivalent in one step.
Render input format
In Render mode the source area is read as tab-separated — one row per line, cells separated by tabs. This is the format you get when you copy from Google Sheets, Excel, LibreOffice Calc, or any modern spreadsheet, so paste works without any conversion.
Turn off First row is header if the pasted data does not begin with a header row.
Parse input format
In Parse mode the tool reads the source as one of CSV, TSV, or Markdown and converts it back to a structured table. Use this to:
- Convert between formats (e.g. paste a CSV, render as Markdown).
- Clean up inconsistent quoting in a CSV file.
- Strip alignment markers from a Markdown table.
Specifications & references
Notes
- Maximum 10,000 rows and 200 columns per table.
- Cell content runs through the appropriate per-format escape; you do not need to pre-escape your input.
- Conversion runs entirely in your browser; the same TypeScript logic powers the API endpoint below.
API Usage Example:
POST /api/tools/data/table-generator
Content-Type: application/json
{
"operation": "render",
"headers": [
"Name",
"Score"
],
"rows": [
[
"Alice",
"42"
],
[
"Bob",
"17"
]
],
"format": "markdown"
}