CSV to ASCII Table
Render a CSV as a properly aligned text table — for a README, a code comment, a commit message, a terminal paste, or a Slack snippet. Column widths are measured from the content, numeric columns are right-aligned so digits line up, and you can cap the width of long cells.
How to make a text table
- Paste the CSV or drop a file.
- Pick a style — ASCII for maximum compatibility, Unicode box for looks, Markdown for GitHub and docs.
- Set max cell width to truncate long values with an ellipsis so the table stays readable.
- Copy the result. It only looks right in a monospaced context, which is where these belong.
Which style where
- ASCII — plain
+,-, and|. Safe anywhere: code comments, logs, email, ancient terminals. - Unicode box / rounded / heavy — box-drawing characters for a cleaner look. Needs a UTF-8 environment and a font with the glyphs; most modern terminals and editors are fine.
- Markdown — renders as a real table on GitHub, GitLab, and most wikis, with alignment colons derived from the numeric columns.
- Simple — columns separated by spaces with a dashed underline. Minimal noise, and easy to parse again with Fixed width to CSV.
Why alignment matters more than borders
The point of a text table is scanning a column vertically. Right-aligning numbers puts the units, tens, and hundreds in the same place so magnitude differences are visible at a glance — left-aligned numbers hide them. Detection is per column: a column is right-aligned only when every non-empty value parses as a number, so a mixed column with a stray N/A stays left-aligned rather than looking broken.
FAQ
Why is my table misaligned when I paste it somewhere?
The destination isn't using a monospaced font. Wrap it in a code block (triple backticks in Markdown or Slack) and it will line up.
Do wide characters line up?
Widths are counted in characters, so CJK and emoji — which occupy two cells in a terminal — will look slightly wide. Latin text is exact.
Can I go back from a text table to CSV?
For the simple and fixed-width styles, yes — Fixed width to CSV detects the columns. For bordered styles, strip the border characters first with Find & replace.
Is anything uploaded?
No — it runs in your browser.
Privacy
100% client-side. No upload. See the privacy policy.