Foundations

ASCII Tables Explained: Grid, Simple, and Unicode Styles

Prepared and reviewed by the md2text maintainer. Parser-specific claims are checked against the public compatibility lab and automated regression suite.

For a small package-status table, md2text produces a 29-column, 7-line result in both Grid ASCII and Unicode box. Simple text produces 23 columns and 4 lines from exactly the same source. Changing border characters does not make the table narrower; removing borders does. That is the useful starting point when choosing a format for a support reply or documentation snippet.

The measured examples below show the source, exact output in all three styles, and links that load each result in the converter. The numbers come from the current converter, not a screenshot or a hand-aligned approximation.

What the comparison measures

The sample has three columns: Package, Status, and Size. Two body rows contain core / ready / 183 KB and docs / review / 42 KB. The Size column is right-aligned. Header and body content stay identical for every run.

StyleMaximum display columnsOutput linesMain tradeoff
Grid ASCII297Strong row boundaries, extra vertical space
Unicode box297Connected borders, requires suitable glyphs
Simple text234Smaller footprint, fewer visual boundaries

Output lines include borders and the header separator. The converter’s health summary counts content rows instead, including the header: this sample has 3 rows in every style. These measurements describe the text generated by md2text; they do not establish compatibility with every application.

Choose Grid ASCII for explicit boundaries

Grid ASCII uses +, -, and | around padded cells. A separator follows each data row. That makes adjacent records easy to distinguish, particularly when several cells contain similar values or intentional blanks.

Use it for short support checklists, source comments, or systems where basic border characters are preferable. Remember that the name describes the borders only. A cell containing Chinese, an emoji, or an accented character still contains that character after conversion. Grid ASCII does not transliterate your document into ASCII.

Borders also do not fix proportional fonts. The text can have the correct spaces and still look uneven in a rich-text email editor. Choose a monospaced block in the destination before deciding the conversion is wrong.

Choose Unicode box for connected borders

Unicode box changes the frame to connected box-drawing glyphs. It uses the same cell widths and padding as Grid ASCII, so both styles measure 29 display columns in this example.

Use it for terminal-oriented documentation when you can preview the result in the target environment. A broken box glyph indicates a font or encoding problem. Switching to ASCII can solve that particular problem, but it will not shorten the content or change the width of an emoji inside a cell.

Choose Simple text when space matters

Simple text removes the outer frame and the horizontal lines between body rows. Columns are separated by two spaces. The header underline remains, which helps distinguish labels from data without drawing a full grid.

Here it saves 6 display columns and 3 lines. It is a useful choice for compact replies and short references. It becomes less easy to scan when cells contain long sentences or many blanks. Shorten those cells before treating style selection as the entire solution.

For md2text’s current renderer, a table with n columns and normalized visible cell widths w1 ... wn has these widths:

Grid or Unicode: sum(widths) + 3n + 1
Simple text:    sum(widths) + 2(n - 1)

The difference is n + 3 display columns. With three columns, switching to Simple saves six, regardless of how long the longest description becomes. The 80-column worked example shows why a content edit can matter much more.

Match the copy mode to the destination

Use raw text for a destination that already preserves whitespace, such as a source file or terminal document. For a Markdown comment, select the fenced-code option in the copy menu. It wraps the output in a text code block so Markdown syntax inside the output is treated as text.

GitHub documents fenced code blocks as its mechanism for displaying code. An email client does not necessarily interpret those fences: pasting them into a plain email may show the backticks literally.

If spacing still changes after pasting, check the destination font, whether spaces were collapsed, and whether a quoted-reply prefix reduced the available line width. Downloading the .txt result is another way to keep the exact text for inspection.

Limits of this comparison

The examples measure output size, not rendering speed or readability scores. They use synthetic package data and do not claim testing in Outlook, Gmail, Slack, or a particular terminal. For multilingual values, use the CJK and emoji measurements. For parser ambiguity, the Compatibility Lab documents the input cases separately.

Measured examples

Results below use the current md2text converter. Width is measured in display columns; output lines include borders and separator lines. These are constructed documentation examples, not tests of a particular email client or terminal.

One package table, three output styles

The source stays identical. Compare border overhead, output line count, and right-aligned sizes.

Markdown source

| Package | Status | Size |
|---|---|---:|
| core | ready | 183 KB |
| docs | review | 42 KB |
Measured output by style
StyleMax columnsLines80-col fit
Grid ASCII297Fits
Unicode box297Fits
Simple text234Fits
Grid ASCII output
+---------+--------+--------+
| Package | Status |   Size |
+---------+--------+--------+
| core    | ready  | 183 KB |
+---------+--------+--------+
| docs    | review |  42 KB |
+---------+--------+--------+
Try this Grid ASCII example
Unicode box output
┌─────────┬────────┬────────┐
│ Package │ Status │   Size │
├─────────┼────────┼────────┤
│ core    │ ready  │ 183 KB │
├─────────┼────────┼────────┤
│ docs    │ review │  42 KB │
└─────────┴────────┴────────┘
Try this Unicode box example
Simple text output
Package  Status    Size
-------  ------  ------
core     ready   183 KB
docs     review   42 KB
Try this Simple text example

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