도구 가이드
Developer 무료 회원가입 불필요

Text to Table Converter

Convert CSV, TSV, or delimited text to HTML table, Markdown, or JSON

도구를 불러오는 중…

이 도구에 대해

Paste any delimiter-separated text and instantly convert it to a styled HTML table, a Markdown table, or a JSON array. The tool auto-detects commas, tabs, pipes, and spaces, or you can select the delimiter manually. Options include treating the first row as headers, trimming whitespace from cells, and escaping HTML entities to prevent injection. Copy the output with one click.

사용 방법

  1. 1 Paste your delimited text into the input area.
  2. 2 The delimiter is detected automatically — change it with the selector if needed.
  3. 3 Check 'First row as header' if your data has column names in the first line.
  4. 4 Choose the output format: HTML Table, Markdown, or JSON Array.
  5. 5 Enable 'Trim whitespace' and 'Escape HTML' as required.
  6. 6 Click 'Convert' to see the formatted output.
  7. 7 Copy the result with the copy button.

What "delimited text" really is

Spreadsheets, database exports, and log files share a simple structure: rows separated by line breaks, and columns separated by a single repeated character — the delimiter. A comma gives you CSV, a tab gives you TSV, and pipes (|) or semicolons are common in European exports where the comma is already used as a decimal point. This converter reads that flat text and rebuilds the grid behind it, then re-emits the same grid as an HTML <table>, a Markdown table, or a JSON array of objects.

How auto-detection works

When you leave the delimiter on "Auto-detect," the tool looks only at the first line of your input and counts how many times each candidate appears — comma, tab, pipe, and semicolon. Whichever character occurs most often wins; if none appear, it falls back to splitting on spaces. This is fast and right most of the time, but it can be fooled. A header row like Name,Role,Notes over data rows full of semicolons will still pick the comma, because detection never looks past line one. If your first row is unusual, set the delimiter manually.

A worked example

Paste this three-line block with "First row as header" enabled:

  • name,city,visits
  • Ada,London,3
  • Linus,Helsinki,7

The tool detects a comma, splits into three rows of three cells, and reports "Detected delimiter: comma — 3 rows, 3 columns." Choosing JSON Array produces objects keyed by the header row:

[{ "name": "Ada", "city": "London", "visits": "3" }, { "name": "Linus", "city": "Helsinki", "visits": "7" }]

Note that visits stays a quoted string, not a number — the converter preserves every cell as text and never guesses types, which keeps IDs with leading zeros and phone numbers intact. If you turn the header option off, keys become col0, col1, col2 instead, and the first data row is treated as data rather than column names.

Choosing the right output

FormatUse it for
HTML TablePasting a styled, bordered grid straight into a web page or email; comes with an inline preview.
Markdown TableGitHub READMEs, Notion, Obsidian, and pull-request descriptions. Columns are padded so the raw text lines up.
JSON ArrayFeeding data into code, an API request, or a JavaScript file. Output is pretty-printed with two-space indentation.

What "Escape HTML" and "Trim whitespace" do

Escape HTML matters only for the HTML Table output. With it on, characters that would otherwise break a page — <, >, &, and " — are rewritten as safe HTML entities. So a cell containing <b>bold</b> renders as literal text rather than turning the rest of your table bold. Leave it on unless you specifically want cells to contain live markup and you trust the source. Trim whitespace strips leading and trailing spaces from every cell, which cleans up exports that pad values for alignment; turn it off if those spaces are meaningful.

The live HTML preview

When you pick HTML Table as the output, the tool does two things at once. It puts the raw markup in the output box for you to copy, and it also renders that exact markup in a live preview panel below — so you see the finished, bordered table before you paste it anywhere. The generated table uses inline styles (a light gray header row, collapsed borders, padded cells) rather than CSS classes, which means the table looks the same wherever you drop it, even in environments that strip stylesheets such as email clients or content management systems. If you only want the structure and intend to style it yourself, delete the inline style attributes after copying.

Practical tips and limits

  • This is a simple splitter, not a full CSV parser. It divides each line on the delimiter character directly, so a quoted field that itself contains a comma — like "Smith, John" — will be split into two cells. If your data has quoted commas, switch to a tab or pipe delimiter before converting.
  • Blank lines are ignored. Empty rows are dropped automatically, so a stray newline at the end of a paste will not create a phantom row.
  • Column count follows the first row in Markdown. If later rows have more cells than the header, the extra cells still appear but may not align; keep rows consistent for clean Markdown.
  • Re-converting is cheap. Change the output format or any checkbox and the result updates immediately — experiment freely.

Is my data private?

Yes. Parsing and conversion happen entirely in your browser with no upload step. Whatever you paste — including sensitive exports — never leaves your device, so the tool works the same with your network disconnected.

자주 묻는 질문

{# Alpine.js — self-hosted. (The previous jsdelivr CDN tag had a stale SRI integrity hash, so the browser refused to run it and window.Alpine was never defined — silently breaking every FAQ accordion and Alpine tool.) #}