Foundations

ASCII Tables Explained: Grid, Simple, and Unicode Styles

Written and reviewed by the md2text maintainer. Parser-specific guidance is checked against the automated regression suite.

ASCII tables are plain-text tables built from characters instead of HTML, CSS, or Markdown rendering. They are useful because they survive copy and paste. A table that looks right in a terminal, source comment, email, log file, or support ticket can be read without a browser extension or a Markdown preview.

The phrase “ASCII table” is often used loosely. Some tables use only true ASCII characters such as +, -, and |. Others use Unicode box-drawing characters such as , , and . Both styles are plain text, but they behave differently depending on the destination.

Grid style

Grid style is the classic database-table look:

+---------+--------+----------+
| Package | Status | Size     |
+---------+--------+----------+
| core    | ready  | 183 KB   |
+---------+--------+----------+
| docs    | review | 42 KB    |
+---------+--------+----------+

Use grid style when you need strong separation between rows and columns. It is especially good for:

Use caseWhy grid works
README examplesClear boundaries make copied snippets easier to scan
Database outputThe style matches familiar CLI tools
Support ticketsEach row remains distinct after copy and paste
Incident notesReviewers can compare values quickly

The main tradeoff is vertical space. A full grid table uses separator rows between body rows, so long tables become tall. That is usually acceptable for small compatibility matrices and status summaries, but it may be too heavy for very large datasets.

Simple style

Simple style keeps the table compact:

Package  Status  Size
-------  ------  ------
core     ready   183 KB
docs     review  42 KB

This style is useful when the table is short, the columns are obvious, and the destination has limited space. It is a good fit for email replies, short changelog entries, and compact command examples.

The tradeoff is that there are fewer visual boundaries. If a cell contains a long sentence, simple style can become harder to read than grid style. For that reason, simple output works best when each cell is a label, number, status, or short phrase.

Unicode box-drawing style

Unicode box-drawing tables look polished in modern terminals:

┌─────────┬────────┬──────────┐
│ Package │ Status │ Size     │
├─────────┼────────┼──────────┤
│ core    │ ready  │ 183 KB   │
├─────────┼────────┼──────────┤
│ docs    │ review │ 42 KB    │
└─────────┴────────┴──────────┘

This style is still plain text, but it depends on Unicode support. Use it when your destination is a modern terminal, internal documentation site, or editor that uses a font with good box-drawing glyphs.

Avoid Unicode output when the text might pass through older systems, SMS-like tools, or email clients that replace box-drawing characters. In those cases, ASCII grid is safer.

Why monospaced fonts matter

Plain-text tables rely on spaces. If the destination uses a proportional font, narrow characters such as i and wide characters such as W take different visual widths. The table may still contain the right spaces, but the columns can look uneven.

For reliable display, paste the output into a monospaced field or wrap it in a code block when the destination supports one:

```text
+------+--------+
| Name | Status |
+------+--------+
| API  | Ready  |
+------+--------+
```

If you are writing a README, code fences are usually the best container. If you are writing email, choose a plain-text or monospaced formatting option when available.

How column width is calculated

A converter should size each column based on the visible content, not the number of bytes in the string. This matters for:

Content typeWhy width handling matters
CJK textSome characters are visually wider than ASCII
Emoji-like symbolsDisplay width can differ from character count
Code spansBackticks should not always count as visible content
LinksThe readable label and URL may both affect width

Markdown Table to Text uses visible string width so output is more reliable in monospaced contexts. No converter can control every destination font, but width-aware output is a better starting point than counting raw string length.

Choosing the right style

Use this quick rule:

SituationRecommended style
You need maximum compatibilityASCII grid
You need compact outputSimple text
You need polished terminal outputUnicode box
The table has many long cellsGrid, or rewrite the content
The table will be emailedSimple or ASCII grid

For most documentation tasks, start with ASCII grid. It is not the shortest format, but it is predictable and widely readable.

Final thought

ASCII and Unicode tables are not replacements for rich tables on a website. They are a practical fallback for environments where plain text is the most dependable format. Choose the simplest style that remains readable after copy and paste, and keep the source Markdown table clean so the converted version stays clean too.

Try the table examples from this guide

Open an allowlisted example in the converter or copy the source and output locally. The Markdown text is not placed in the URL.

ASCII grid

Example key: ascii-grid-use-cases

Try this table in the converter

Markdown source


										| Use case | Why grid works |
|---|---|
| README examples | Clear boundaries make copied snippets easier to scan |
| Database output | The style matches familiar CLI tools |
| Support tickets | Each row remains distinct after copy and paste |
									

Text output


										+-----------------+------------------------------------------------------+
| Use case        | Why grid works                                       |
+-----------------+------------------------------------------------------+
| README examples | Clear boundaries make copied snippets easier to scan |
+-----------------+------------------------------------------------------+
| Database output | The style matches familiar CLI tools                 |
+-----------------+------------------------------------------------------+
| Support tickets | Each row remains distinct after copy and paste       |
+-----------------+------------------------------------------------------+
									

Convert your own table

Paste a Markdown table into the converter and choose ASCII grid, Unicode box, or Simple text output. Conversion runs locally in your browser.

Convert a Markdown table