Make clean text tables for code, docs and terminals
Plain-text tables survive everywhere a rich table cannot: code comments, commit messages, README files, chat, emails, log output and terminal tools. This ASCII table generator takes CSV, TSV (pasted straight from a spreadsheet) or a Markdown table and draws it with Unicode box-drawing characters — single, double, rounded or heavy lines — or classic ASCII +-|. It can also output Markdown, a reStructuredText grid table for Sphinx documentation, or an Org-mode table for Emacs.
Numbers are right-aligned automatically and every column can be set to left, centre or right. Long cells wrap at a maximum column width, rows can be separated by lines, and padding is adjustable. Column widths are measured the way terminals display text, so Chinese, Japanese and Korean characters and emoji (two columns wide) and accents (zero width) do not break the borders. A second mode simply draws a box around any text.
Everything is computed in your browser — nothing you paste is uploaded.
How to use the ASCII Table Generator
- Paste your data into the box. Copying cells from Excel or Google Sheets gives TSV, which is detected automatically, as are CSV, semicolon CSV and Markdown tables.
- Pick a Style: Unicode single, double, rounded or heavy, ASCII, Markdown, reStructuredText or Org-mode.
- Keep First row is a header ticked to draw a header separator, and tick Line between every row for a full grid.
- Adjust Column alignment, Cell padding and Max column width (cells wrap at word boundaries).
- Press Copy table or download a
.txtfile. Switch to Box around text to frame a message instead.
ASCII Table Generator features
Eight output styles
Unicode box drawing in four weights, ASCII for any environment, Markdown with alignment colons, reStructuredText grid tables (with = header rule) and Org-mode tables.
Accurate widths
East Asian wide characters and emoji count as two columns and combining accents as zero, following Unicode East Asian Width, so borders line up in monospaced fonts.
Smart alignment
Columns containing only numbers, prices or percentages are right-aligned; Markdown input keeps its :---: alignment; any column can be overridden.
Wrapping and padding
Set a maximum column width to wrap long text across several lines within a cell, and choose 0–3 spaces of padding.
Robust input
RFC 4180 CSV with quoted fields, embedded commas and doubled quotes; TSV; semicolon-separated European CSV; Markdown/pipe tables; ragged rows are padded with empty cells.
Which style to use where
| Style | Looks like | Best for |
|---|---|---|
| Unicode single | ┌───┬───┐ | Terminal output, chat, docs viewed in modern fonts |
| Unicode double / heavy | ╔═══╗ / ┏━━━┓ | Banners and emphasis in CLI tools |
| ASCII | +---+---+ | Source code comments, old terminals, plain-text email |
| Markdown | | a | b | | GitHub, GitLab, wikis and READMEs — or build one interactively with the Markdown Table Generator |
| reStructuredText grid | +===+ header rule | Sphinx and Python documentation |
| Org-mode | |---+---| | Emacs Org files |
Tips for tables that stay aligned
- Always view and paste text tables in a monospaced font; proportional fonts cannot line up columns.
- Some fonts draw box characters slightly wider or narrower than letters. If borders look broken in one app, try ASCII style there.
- Emoji with skin-tone or ZWJ sequences may render at different widths in different terminals; keep them out of tables you depend on.
- Markdown tables do not need aligned pipes to render, but aligned source is much easier to review in diffs.
- For larger datasets, explore them first in the CSV Viewer or tidy them with the CSV Formatter.
ASCII Table Generator FAQ
How do I convert CSV to an ASCII table?
Paste the CSV into the ASCII table generator, keep or change the style and copy the result. Quoted fields with commas are handled, and the header row gets its own separator line.
Can I paste directly from Excel or Google Sheets?
Yes. Copied cells arrive as tab-separated text, which is detected automatically as TSV.
Why are my borders misaligned in another app?
The app is probably using a proportional font, or its font draws box-drawing characters at a different width. Paste into a code block or monospaced context, or switch to ASCII style.
Does it handle Chinese, Japanese, Korean or emoji?
Yes. Wide characters and most emoji are counted as two columns, matching how terminals and monospaced fonts display them, so the table stays rectangular.
Can it wrap long text inside a cell?
Set Max column width. Text wraps at spaces; words longer than the limit are split. Wrapping is not applied to Markdown output, where line breaks inside cells are written as <br>.
How do I put a box around a single message?
Choose “Box around text”, type the lines, pick a style, padding and alignment. It is handy for CLI banners, code comment headers and README callouts.