User Rating 0.0
Total Usage 0 times
Drop a .csv file here or click to browse
Unicode Table Output

    
Is this tool helpful?

Your feedback helps us improve.

About

Pasting tabular data into plain-text environments (Markdown files, terminal logs, code comments, Slack messages, emails without HTML) destroys alignment. Columns collapse. Readability drops to near zero. Manually spacing columns with whitespace breaks the moment a single cell changes width. This converter parses raw CSV input using an RFC 4180-compliant state machine and renders it as a Unicode box-drawing table with precise column-width calculation. It handles quoted fields containing embedded commas, escaped double-quotes (""), and mixed line endings. Three border sets are available: Light (U+2500 block), Heavy (U+2501 block), and Double (U+2550 block). Column alignment is auto-detected - numeric data aligns right, text aligns left - but can be overridden manually.

The delimiter is auto-detected via frequency analysis across the first 10 rows, supporting comma, semicolon, tab, and pipe characters. Note: this tool assumes well-formed CSV. Malformed input (unmatched quotes, binary data) will produce unpredictable output. For CSVs exceeding 10,000 rows, only the first 50 rows are previewed, though the full output is generated for download. Pro tip: when pasting into monospaced environments, verify your font renders all box-drawing characters at uniform width - some fonts break alignment on double-line characters.

csv unicode table box drawing text table csv converter ascii table plaintext table data formatting

Formulas

Column width calculation determines the visual width of each column in the output table. For each column j, the rendered width Wj is computed as:

Wj = max(len(celli,j)) + 2 p

where celli,j is the content of row i at column j, len returns the character count, and p is the horizontal padding (default 1 space per side). The max is taken across all rows i [0, n] including the header row.

Delimiter auto-detection uses frequency analysis. For each candidate delimiter d {, ; \t |}, the tool counts occurrences per line across the first 10 rows and computes the variance σ2 of those counts:

σ2d = 1n ni=1 (ci c)2

where ci is the count of delimiter d in row i, and c is the mean count. The delimiter with the lowest non-zero variance and highest mean count is selected. A consistent delimiter produces zero variance across uniform rows.

Reference Data

CharacterUnicodeNameUsed In
U+2500Light HorizontalLight borders
U+2502Light VerticalLight borders
U+250CLight Down and RightTop-left corner
U+2510Light Down and LeftTop-right corner
U+2514Light Up and RightBottom-left corner
U+2518Light Up and LeftBottom-right corner
U+251CLight Vertical and RightLeft T-junction
U+2524Light Vertical and LeftRight T-junction
U+252CLight Down and HorizontalTop T-junction
U+2534Light Up and HorizontalBottom T-junction
U+253CLight Vertical and HorizontalCross junction
U+2501Heavy HorizontalHeavy borders
U+2503Heavy VerticalHeavy borders
U+250FHeavy Down and RightHeavy top-left
U+2513Heavy Down and LeftHeavy top-right
U+2517Heavy Up and RightHeavy bottom-left
U+251BHeavy Up and LeftHeavy bottom-right
U+254BHeavy Vertical and HorizontalHeavy cross
U+2550Double HorizontalDouble borders
U+2551Double VerticalDouble borders
U+2554Double Down and RightDouble top-left
U+2557Double Down and LeftDouble top-right
U+255ADouble Up and RightDouble bottom-left
U+255DDouble Up and LeftDouble bottom-right
U+256CDouble Vertical and HorizontalDouble cross
U+2560Double Vertical and RightDouble left T
U+2563Double Vertical and LeftDouble right T
U+2566Double Down and HorizontalDouble top T
U+2569Double Up and HorizontalDouble bottom T

Frequently Asked Questions

The parser implements RFC 4180 rules. Any field wrapped in double quotes is treated as a single value regardless of embedded commas, newlines (CRLF or LF), or other special characters. To include a literal double-quote inside a quoted field, it must be escaped as two consecutive double-quotes (""). For example, the CSV value ""Hello, World"" ""she said"""" produces the cell content: Hello, World "she said".
All characters come from the Unicode Box Drawing block (U+2500 to U+257F), which has been part of Unicode since version 1.1 (1993). Virtually all modern monospaced fonts support them. However, some proportional fonts and certain terminal emulators may render them at inconsistent widths. Always verify output in a monospaced font such as Consolas, Menlo, or Fira Code. The Double style (═║╔) has the highest risk of misalignment in non-standard fonts.
The converter normalizes all rows to the maximum column count found in the dataset. Shorter rows are padded with empty cells on the right. This means a CSV with rows of 3, 5, and 4 fields will produce a table with 5 columns, where missing cells appear as blank spaces. No data is discarded.
The tool scans non-header cells in each column. If more than 60% of non-empty values match a numeric pattern (integers, decimals, negative numbers, percentages, or currency values), the column is right-aligned. Otherwise, it defaults to left-aligned. You can override this per-column or globally via the alignment setting. Center alignment is available but never auto-selected.
File uploads are capped at 5 MB. Pasted or typed input has no hard limit, but CSVs exceeding 10,000 rows will only preview the first 50 rows in the output panel for performance. The full table is still generated when you click Download or Copy. For datasets above 50,000 rows, expect processing times of 2-5 seconds depending on column count and content length.
Yes. The auto-detect algorithm analyzes the first 10 lines for comma, semicolon, tab, and pipe characters. It selects the delimiter with the most consistent per-line frequency. You can also manually override the delimiter via the dropdown. For tab-separated data pasted from spreadsheets, the tool typically detects tabs correctly within one line of input.
By default, the tool trims leading and trailing whitespace from unquoted fields, following common CSV conventions. Quoted fields preserve all internal whitespace exactly as written. If you need to preserve whitespace in unquoted fields, disable the "Trim whitespace" option in settings. Padding spaces added for column alignment are separate from cell content and do not affect copy/download output integrity.