ASCII Table Creator

Converts delimited data (one row per line, columns split on comma or tab) into a bordered plain-text table using +, -, and | box-drawing characters, with every column auto-sized to its widest cell and the first row treated as a header. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

Overview

Introduction

Pasting a small CSV snippet into a chat message, README, or plain-text email loses all its structure unless it's laid out as an aligned table.

This tool takes delimited data and formats it as a properly bordered plain-text table, with columns auto-sized so everything lines up.

What Is ASCII Table Creator?

A text-table renderer that reads newline-per-row, comma-or-tab-per-column data and draws it as a bordered ASCII grid using +, -, and | characters.

It's distinct from a static reference chart, this tool renders whatever data you paste in, not a fixed lookup table.

How ASCII Table Creator Works

Each line of input becomes one table row, split into cells on tab (if present) or comma otherwise; every cell is trimmed of surrounding whitespace.

The widest cell in each column determines that column's width, shorter cells are padded and shorter rows are extended with empty cells, then border and row lines are assembled from +, -, and | characters, with a border separating the header row from the body.

When To Use ASCII Table Creator

Use it to turn a quick CSV or spreadsheet excerpt into a readable plain-text table for a README, code comment, ticket, or chat message.

It's also handy for formatting small reference tables in any context where Markdown or HTML tables aren't rendered, like plain-text logs or terminal output.

Features

Advantages

  • Auto-sizes every column to its content, no manual alignment or padding needed.
  • Accepts either comma- or tab-delimited rows without any configuration.
  • Handles ragged input gracefully by padding short rows instead of erroring out.

Limitations

  • Splits on a plain comma or tab, values containing an embedded comma (as in quoted CSV fields) will be split incorrectly.
  • Always treats the first row as a header row visually; there's no option to disable that separator.

Examples

A small comma-delimited table

Input

Name,Age
Alice,30
Bob,25

Output

+-------+-----+
| Name  | Age |
+-------+-----+
| Alice | 30  |
| Bob   | 25  |
+-------+-----+

Column widths are set by the longest cell in each column ("Alice" for the name column), and the header row gets its own separating border.

Rows with an uneven column count

Input

A,B,C
x,y

Output

+---+---+---+
| A | B | C |
+---+---+---+
| x | y |   |
+---+---+---+

The second row is missing a third value, so it's padded with an empty cell to keep the table rectangular.

Best Practices & Notes

Best Practices

  • Strip quoted fields containing embedded commas before pasting, since the splitter doesn't understand CSV quoting rules.
  • Use tabs instead of commas if any of your data values naturally contain commas, to avoid misaligned columns.

Developer Notes

Each line is split with `line.split("\t")` if a tab is present, else `line.split(",")`; the widest cell per column index drives `String.prototype.padEnd` for both header/body cells and the `-`.repeat() border segments, so the whole render is a small, dependency-free string-formatting pass.

ASCII Table Creator Use Cases

  • Formatting a CSV or spreadsheet excerpt for a plain-text README or code comment
  • Building a quick readable table for a terminal-based report or log file
  • Sharing small tabular data in a chat or ticketing system that doesn't render Markdown tables

Common Mistakes

  • Confusing this with the ASCII Table Generator (the 0-127 code reference chart), they're named similarly but do very different things.
  • Pasting CSV with quoted, comma-containing fields and expecting correct column splitting, the splitter is a simple delimiter split, not a full CSV parser.

Tips

  • If a column looks misaligned, check for a stray tab or comma inside a cell value that's throwing off the split.
  • Use the ASCII Tree Drawer instead if your data is hierarchical rather than tabular.

References

Frequently Asked Questions