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.
| Style | Maximum display columns | Output lines | Main tradeoff |
|---|---|---|---|
| Grid ASCII | 29 | 7 | Strong row boundaries, extra vertical space |
| Unicode box | 29 | 7 | Connected borders, requires suitable glyphs |
| Simple text | 23 | 4 | Smaller 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 || Style | Max columns | Lines | 80-col fit |
|---|---|---|---|
| Grid ASCII | 29 | 7 | Fits |
| Unicode box | 29 | 7 | Fits |
| Simple text | 23 | 4 | Fits |
Grid ASCII output
+---------+--------+--------+
| Package | Status | Size |
+---------+--------+--------+
| core | ready | 183 KB |
+---------+--------+--------+
| docs | review | 42 KB |
+---------+--------+--------+Try this Grid ASCII exampleUnicode box output
┌─────────┬────────┬────────┐
│ Package │ Status │ Size │
├─────────┼────────┼────────┤
│ core │ ready │ 183 KB │
├─────────┼────────┼────────┤
│ docs │ review │ 42 KB │
└─────────┴────────┴────────┘Try this Unicode box exampleSimple text output
Package Status Size
------- ------ ------
core ready 183 KB
docs review 42 KBTry this Simple text exampleTry 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
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