Paste CSV or TSV, get a monospace table that lines up: +--+ ASCII, Unicode box, Markdown, with real CJK width
- Runs locally
- Category Developer & DevOps
- Best for Formatting, validating, shrinking, or inspecting code-adjacent text.
Paste straight from a spreadsheet with Tab selected.
+-------+----------+--------+ | Name | Role | City | +-------+----------+--------+ | Alice | Engineer | Berlin | | 李雷 | 设计师 | 北京 | +-------+----------+--------+
What this tool does
A free ASCII table generator that turns CSV or TSV rows into a fixed-width text table you can drop straight into a README, a code comment, a terminal banner, a Git commit body or a plain-text email. Pick the border you want: classic ASCII with plus, dash and pipe characters, a Unicode box-drawing table, rounded or double-line box, a GitHub-flavored Markdown pipe table, or a minimal rule-only layout. Choose your delimiter (comma, tab or any custom character), say whether the first row is a header, and align every column left, center or right. The part most online generators get wrong is CJK width: a Chinese, Japanese or Korean character takes two cells in a monospace font, so this tool measures display width and pads to it, keeping the borders perfectly vertical even in mixed Latin and Han tables. One click copies the result. Everything runs in your browser, nothing is uploaded, and the shareable URL reproduces your exact data and options.
Tool details
- Input
- Text
- The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
- Output
- Live result + Copy + Preview
- The result area focuses on usable output, with copy, download, or preview actions when supported.
- Privacy
- Browser-side processing
- The main tool logic does not call an external API, so inputs normally stay in the current tab.
- Save / share
- Shareable URL state
- Key settings are encoded in the URL so another person can reopen the same setup.
- Performance budget
- Initial JS <= 9 KB
- No WASM budget is declared, keeping the tool quick to open on mobile.
- Best fit
- Developer & DevOps · Developer
- Category and role tags drive related tools, internal links, and quick fit checks.
How to use
-
1. Input
Paste or drop your content into the tool panel.
-
2. Process
Click the button. All processing is local in your browser.
-
3. Copy / Download
Copy the result or download to disk in one click.
How ASCII Table Generator fits into your work
Use it in the small gaps between coding, reviewing, debugging, and shipping.
Developer jobs
- Formatting, validating, shrinking, or inspecting code-adjacent text.
- Preparing snippets for documentation, tickets, commits, or handoff.
- Checking a small payload quickly without switching tools.
Developer checks
- Run irreversible transforms like minify or obfuscate on a copy.
- Keep secrets out of pasted snippets unless the tool explicitly stays local.
- Use your normal tests or linter before shipping transformed code.
Good next steps
These links move the current task into a more complete workflow.
- 1 Markdown Table Generator Build Markdown tables visually — add/remove rows, column alignment, paste from Excel / CSV — browser-only Open
- 2 CSV to Markdown Table Convert uploaded or pasted CSV into clean Markdown tables with quoted-cell support, locally in the browser. Open
- 3 JSON to Markdown Table Paste a JSON array of objects, get a clean GitHub-flavored Markdown table. Key union, pipe escaping, alignment, all in your browser. Open
Real-world use cases
Put a clean table in a README code block
You are documenting a CLI and want a table of flags that stays aligned no matter where GitHub renders it. Paste the flag names and descriptions as CSV, switch the border to ASCII or Unicode, and wrap the output in a fenced code block. Because the columns are padded to a fixed width, the table reads the same on GitHub, in a raw .md file and in anyone's editor, with no dependency on a Markdown renderer being present.
Document fields in a source-code comment
A config struct has eight fields and you want a quick reference right above it. Type the field, type and default as rows, set the first row as header, and paste the box-drawing table into a block comment. Future readers see an aligned grid instead of a wall of prose, and the comment survives any language that supports monospace comments — which is all of them.
Print a status table in a terminal banner
Your script greets the user with a summary of detected settings. Build the table here with the Unicode box style, copy it, and embed it as a heredoc or printed string. The double-line or rounded border gives a CLI tool a polished startup screen without pulling in a table-rendering library, and the fixed widths mean it will not wrap or skew in a standard 80-column terminal.
Share a data snippet in Slack or a commit message
You want to paste a small result set into a Slack thread or a Git commit body, where Markdown tables are not rendered. An ASCII table inside a code block keeps the columns aligned for every reader. Build it once, hit copy, and the same shareable URL lets a teammate reopen the exact data and tweak a column before pasting their own version.
Line up a mixed Chinese and English table
A bilingual feature comparison has English headers and Chinese cell values, the case where most generators go ragged. With CJK width = 2 on, each Han character is counted as two cells, so the column holding 北京 lines up under the column holding Berlin. The borders stay vertical, and you get a table that looks right in any monospace context without hand-counting spaces.
Common pitfalls
Leaving CJK width off when the table has Chinese, Japanese or Korean text. A Han character is two cells wide in monospace, so padding by character count leaves those columns short and the borders zig-zag. Keep CJK width = 2 on unless you are pasting into a place that renders CJK as single width.
Picking the wrong delimiter for the source data. If you paste tab-separated data from a spreadsheet but leave the delimiter on comma, the whole row lands in one column. Set the delimiter to Tab for spreadsheet paste, or Custom for files that use a semicolon or pipe.
Using a Unicode box table where the target is plain ASCII. Some old terminals, log viewers and email clients show box-drawing characters as mojibake or question marks. When you are not sure the reader supports UTF-8, choose the ASCII style so the table uses only + - and | characters.
Privacy
The whole tool is plain JavaScript that runs inside your browser tab. Your data, the parsing, the width calculation and the rendered table never leave the page, and nothing you type is logged or sent to a server. The one thing to know: the shareable URL encodes your data and options in the query string so a link reproduces the table, which means a link pasted into chat will record those rows in the recipient server's access log. For confidential data, use the copy button and paste the table text rather than sharing the URL.
FAQ
Tool combos
Folks in your role tend to reach for these alongside this tool.
- 555 Timer Calculator Astable f = 1.44/((R1+2R2)C) + monostable t = 1.1RC — pick R1, R2, C in Ω/kΩ and µF/nF, read frequency, duty cycle and pulse width — browser-only
- Add Line Numbers Number every line of pasted text — set start, step and separator, zero-pad to align, skip blanks, or strip numbers back off — browser-only
- AES Text Encryptor Encrypt & decrypt text with a password — AES-256-GCM + PBKDF2 via WebCrypto — 100% in your browser, nothing uploaded
- Affine Cipher Encoder & Decoder Encrypt and decrypt the ax+b affine cipher with live modular-inverse check, browser-only