Skip to content

ASCII table generator

Make a plain-text table for code comments, terminals, emails and READMEs. Choose ASCII, box-drawing, double, rounded, reStructuredText or borderless style, and the columns are padded to line up exactly.

Loading the table editor… It runs locally in your browser.

Six text table styles

+------+-------+     ┌──────┬───────┐
| Name | Score |     │ Name │ Score │
+------+-------+     ├──────┼───────┤
| Ada  |    98 |     │ Ada  │    98 │
+------+-------+     └──────┴───────┘
  • ASCII (+-|): safe in any system, including logs and legacy terminals.
  • Box drawing, rounded and double: Unicode borders for a cleaner look in modern terminals.
  • reStructuredText grid: renders as a real table in Sphinx documentation.
  • Borderless: columns separated by two spaces, like docker ps or kubectl get output.

Where text tables beat Markdown

Markdown tables only look like tables once something renders them. A text table looks the same in a raw file, a git log, a terminal, a code comment and a plain-text email. For rendered docs, use the Markdown table generator instead.

Wide characters

East Asian full-width characters and most emoji take two terminal columns. The padding counts them as two (following Unicode East Asian Width), so tables with names like 東京 still line up.

Questions people ask

What is an ASCII table?

A table drawn with plain characters such as + - | (or Unicode box-drawing characters ┌─┐) so it lines up in any monospaced font. It is used in code comments, terminal output, plain-text emails, commit messages, Stack Overflow answers and README files where Markdown tables don’t render.

Should I use ASCII or Unicode box-drawing borders?

Plain ASCII (+, -, |) works everywhere, including old terminals and systems that mangle non-ASCII characters. Box-drawing characters (U+2500 block) look cleaner and are supported by every modern terminal and font, but can break in tools that assume single-byte text.

Why don’t my columns line up?

The text has to be shown in a monospaced font. In proportional fonts (most email clients, Slack outside code blocks) every character has a different width. Paste the table inside a code block (```) or <pre> to keep it aligned. CJK characters and emoji count as two columns wide; the generator accounts for that.

What is the reStructuredText grid style?

It is the grid-table syntax from the Docutils reStructuredText spec: + and - borders, = under the header row, and a rule between every row. Sphinx and Read the Docs render it as a real table.

Can I turn a CSV or spreadsheet into a text table?

Yes. Press “Import data”, then paste CSV, cells copied from Excel or Google Sheets, or a Markdown table (or open a file), and the grid fills in. Choose a border style and copy the result.

Other table generators