Paste CSV, tab-separated cells from Excel or Google Sheets, or an existing pipe table, and get a neatly aligned plain-text table. Pick MySQL, Markdown, Unicode box, reStructuredText or Org style, wrap it in code comments, and copy it into a README, a commit message or your source code.
Last updated:
Advertisement
Advertisement
How to use the ASCII Table Generator
Paste your data into the box: CSV, cells copied from a spreadsheet, or any existing text table. A sample table is loaded so you can see the result first.
Choose a style such as MySQL grid, Markdown or Unicode box. The table updates instantly.
Adjust the layout: header row, alignment, cell padding, lines between rows and a maximum column width for wrapping.
Pick a comment style if the table goes into source code, so every line starts with // or #.
Copy the table or download it as a text file. Paste it where a monospace font is used so the columns line up.
Text table styles compared
All styles use the same column widths: each column is as wide as its longest cell plus the padding. The choice is about where the table will be read.
Style
Characters used
Best for
MySQL / ASCII grid
+ - |
Any plain-text place, 7-bit safe: terminals, logs, emails, old systems
Markdown (GitHub)
| --- :--: ---: |
README files, issues, wikis and docs that render Markdown into HTML tables
Unicode box (single, rounded, heavy, double)
┌ ─ ┬ │ ├ ┼ └ and variants
CLI output, code comments and docs where a cleaner look is wanted
reStructuredText grid
+ - = | with a = line under the header
Sphinx and Python documentation; every row is separated by a line
reStructuredText simple
===== ===== rules
Sphinx docs with short single-line cells
Org-mode
| a | b | and |---+---|
Emacs Org files, which can then sort and calculate on the table
Plain columns
spaces and a dashed header underline
Reports, CLI help text, notes where borders are noise
Tips for clean plain-text tables
Keep it narrow. Many code style guides limit lines to 80 to 120 characters. Set a maximum column width so long descriptions wrap inside their cell instead of stretching the table.
Right-align numbers. Digits line up by place value, which makes columns of figures easy to compare. Auto alignment does this for any column whose cells are all numbers, including values like $1,250.00, -3.5 or 42%.
Quote CSV cells that contain commas. Write "Smith, Jane" so the comma stays in the cell. Doubled quotes ("") inside quotes become a single quote character.
Use a code block in Markdown. Wrap a box-style table in triple backticks so Markdown keeps the spacing and uses a monospace font.
Escape pipes in Markdown. A | inside a cell would start a new column, so the Markdown style writes it as \| automatically.
An ASCII table is a table drawn with ordinary text characters, for example + and - for borders and | between columns, so it lines up in any monospace font. It is used in terminal output, README files, code comments, emails sent as plain text and documentation where HTML tables are not available. In this sense it is different from the ASCII code chart that lists character codes.
Why do my columns not line up after pasting?
Text tables only align in a monospace (fixed-width) font, where every character has the same width. Paste them into a code block, a terminal, a plain-text editor or Markdown inside triple backticks. In proportional fonts such as most email or word processor defaults the borders drift apart.
Which style should I use for a GitHub README?
Use the Markdown style if you want GitHub to render a real HTML table. Use a MySQL or Unicode box style inside a code block (``` fences) if you want the table to look exactly the same as plain text everywhere.
Do Unicode box-drawing tables work everywhere?
They display well in modern terminals, editors and browsers that use a font with box-drawing characters (U+2500 to U+257F), which nearly all monospace fonts include. Very old consoles or tools that only accept 7-bit ASCII may show question marks; choose the MySQL style for maximum compatibility.
How are Chinese, Japanese and emoji characters handled?
Those characters occupy two columns in a monospace font. With the double-width option on, the generator counts them as two columns when padding, so borders stay aligned in terminals and editors that follow the East Asian Width rules.
Can I convert an existing text table to a different style?
Yes. Paste a MySQL, Unicode box, Org or Markdown table; the border and separator lines are ignored and the cells between the pipes are read, so you can switch it to any other style.
Is my data uploaded?
No. Parsing and formatting happen in JavaScript in your browser, and files you open are read locally. Nothing is sent to a server.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.