Format data as ASCII tables and browse the complete ASCII character reference chart
The ASCII Table tool is a dual-mode utility that serves two of the most common needs developers, writers, and technical professionals encounter when working with text-based data. Whether you need to render a spreadsheet as a clean, readable text table for a README file, a code comment, or a terminal application — or you need to quickly look up the hexadecimal code for the ampersand character — this tool has you covered in one place. The first mode, the Table Formatter, takes raw tabular data and renders it as a beautifully formatted ASCII art table. Simply paste your data from a spreadsheet, type tab-separated or CSV values directly, and choose from ten distinct border styles: the classic MySQL-style plus-and-dash table, Unicode single-line and double-line boxes, elegant rounded corners, GitHub-flavored Markdown pipe tables, compact column-separated layouts, dot-style borders, reStructuredText grid tables, raw HTML table markup, and plain space-aligned output. Every style is shown as a visual thumbnail so you can see exactly what it will look like before selecting it. Beyond basic conversion, the Table Formatter offers professional-grade options that match what dedicated tools provide. You can wrap your output inside code comments for C++, Python, SQL, or PHP — perfect for embedding documentation tables directly in source code. You can control text alignment per table (left, right, or center), add separator lines between every data row, strip CSV quote characters automatically, trim whitespace from cell values, and set a maximum column width to prevent runaway-long cells from breaking your layout. A one-click sample data loader lets you explore all features instantly without needing to prepare your own data first. You can also transpose your table — swapping rows and columns — with a single button press. The second mode, the ASCII Reference Chart, displays the complete 7-bit ASCII character set from code point 0 (NUL) through code point 127 (DEL). For each character you see its decimal code, hexadecimal value, octal representation, 8-bit binary string, the character itself (with Unicode control pictures for non-printable characters), its HTML entity code, and its official name or abbreviation. Control characters like TAB, LF, CR, ESC, and BEL are displayed using their standard Unicode symbol glyphs (␉, ␊, ␍, ␛, ␇) so they are visible and identifiable even though they are non-printing. A powerful search and filter input lets you find any character instantly by typing its decimal code, hex value, binary string, octal value, official name, or the character itself. Every row is clickable — clicking copies all that row's values to your clipboard in a tab-separated format, making it trivial to paste into a spreadsheet or text editor. You can also export the entire filtered reference table as a CSV file for use in documentation, spreadsheets, or programming projects. A visual bar chart at the top of the reference panel shows the distribution of the three ASCII character categories: control characters (0–31), printable characters (32–126), and the special delete character (127). Each category is color-coded with a badge in the table for at-a-glance identification. This tool is invaluable for software developers writing README files and code documentation, database administrators formatting query output for reports, technical writers preparing tables for wikis or documentation sites, students and educators learning about character encoding and data representation, and system programmers who need quick access to ASCII code values without consulting an external reference.
Understanding ASCII Tables
What Is ASCII?
ASCII (American Standard Code for Information Interchange) is a character encoding standard first published in 1963. It defines 128 characters (code points 0–127) that cover the English alphabet (uppercase and lowercase), the ten decimal digits, common punctuation marks, and 33 non-printable control characters such as newline (LF, code 10), carriage return (CR, code 13), tab (HT, code 9), and null (NUL, code 0). ASCII became the universal foundation for text encoding in computers and networks. Even modern encodings like UTF-8 are backward-compatible with ASCII — the first 128 Unicode code points are identical to ASCII. Understanding ASCII is fundamental to programming, data processing, network protocols, and file formats.
How Are the Code Representations Calculated?
Each ASCII character is assigned a unique decimal integer from 0 to 127. From this decimal value, all other representations are derived mathematically. Hexadecimal (base 16) is computed by converting the decimal value — for example, decimal 65 (letter 'A') becomes hex 41. Octal (base 8) converts the same value to base 8 — 65 decimal becomes 101 octal. Binary (base 2) expresses the value as an 8-bit string — 65 decimal becomes 01000001. HTML numeric entities use the format &#decimal; (e.g., A for 'A'). Named HTML entities exist for special characters like & (ampersand, code 38), < (less-than, code 60), and > (greater-than, code 62). In JavaScript, char.charCodeAt(0) returns the decimal code point, and n.toString(16) converts it to hex.
Why Do ASCII Tables Matter?
ASCII tables are used constantly in software development, data engineering, and technical writing. Developers use ASCII art tables in README files, command-line output, and code comments because they render correctly in any monospace-font environment without requiring HTML or rich text formatting. Database administrators use them to display query results. Text-based configuration files often use ASCII tables for readability. The ASCII reference chart is equally important: knowing that the escape character is code 27 (0x1B) is essential for terminal control sequences; knowing that printable characters begin at code 32 helps when writing parsers; understanding the ordering of digits (48–57), uppercase letters (65–90), and lowercase letters (97–122) is fundamental when implementing sorting, validation, or encoding algorithms.
Limitations and Scope
This tool covers the standard 7-bit ASCII character set (0–127). Extended ASCII and Latin-1 (code points 128–255) are not included because there is no single 'extended ASCII' standard — different operating systems and encodings define these code points differently. For Unicode characters beyond 127, tools like Unicode code chart browsers are more appropriate. The Table Formatter is optimized for plain text output and does not support cell merging, per-cell borders, or rich formatting (colors, bold) that HTML tables support natively. Column alignment is applied uniformly to all columns in the current version. For very large datasets (thousands of rows), the live preview may introduce a brief rendering delay. The formatter is purely client-side, so no data is ever sent to a server.
How to Use the ASCII Table Tool
Paste or Type Your Table Data
Switch to the Table Formatter tab and paste your data into the text area. You can copy directly from a spreadsheet (Excel, Google Sheets) and the columns will be automatically tab-separated. Alternatively, type CSV data using commas, pipe-separated values, or any other delimiter. Click 'Load Sample Data' to see a working example immediately.
Choose a Separator and Header Mode
Select the column separator that matches your input data — Tab for spreadsheet pastes, Comma for CSV files, Pipe for pipe-delimited data. Then set the Header Row option: choose 'First row is header' to apply a bold separator line below the first row, which visually distinguishes column headings from data rows in the output.
Select a Border Style
Browse the visual thumbnail preview grid to pick your preferred table style. Options include MySQL/Plus for classic ASCII art, Unicode Single or Double for modern box-drawing characters, Rounded for elegant corners, Markdown/GitHub for README files and wikis, Compact for minimal layouts, HTML for web pages, and Plain for documentation that needs no border lines at all.
Copy, Download, or Browse the ASCII Reference
Click Copy to send the formatted table to your clipboard, or click Download .txt to save it as a file. Switch to the ASCII Reference tab to look up any character's decimal, hex, octal, binary, and HTML values. Use the search box to filter by name, code, or character. Click any row to copy all its values. Export the entire reference chart as a CSV file.
Frequently Asked Questions
What is an ASCII table in programming?
In programming, an 'ASCII table' refers to two things. First, the character reference table that maps integers 0–127 to characters — this is what the ASCII Reference tab shows. Second, an 'ASCII art table' is a text-based grid rendered with box-drawing characters or punctuation marks like plus signs, dashes, and pipes. ASCII art tables are widely used in command-line tools, README files, source code comments, and terminal output because they require no special formatting and display correctly in any monospace-font environment. Markdown pipe tables (used on GitHub, GitLab, and many wikis) are one of the most common forms of ASCII art tables today.
How do I convert a spreadsheet to an ASCII table?
Open your spreadsheet in Excel or Google Sheets, select the cells you want, and copy them (Ctrl+C or Cmd+C). Paste the copied data into the Table Data textarea on this tool — spreadsheet cells are automatically separated by tabs when copied, so select 'Tab' as the separator. Choose 'First row is header' if your first row contains column headings. Then pick your preferred border style from the thumbnail preview grid. The formatted ASCII table is generated instantly and can be copied to your clipboard or downloaded as a .txt file.
What is the difference between Unicode Single, Unicode Double, and MySQL table styles?
MySQL style (also called Plus style) uses only basic ASCII punctuation: plus signs at corners and intersections, dashes for horizontal lines, and pipe characters for vertical lines. It is universally compatible with every terminal and text editor. Unicode Single uses actual box-drawing characters from the Unicode standard (┌─│┐└┘├┤┬┴┼) for a cleaner, more polished appearance. Unicode Double uses the double-line variant (╔═║╗╚╝╠╣╦╩╬) for an even bolder look. Unicode styles require a font that supports box-drawing characters, which all modern terminals and editors do.
What is the ASCII code for common characters like space, newline, and tab?
Space is ASCII code 32 (hex 20). Tab (horizontal tab, HT) is code 9 (hex 09). Newline or line feed (LF) is code 10 (hex 0A). Carriage return (CR) is code 13 (hex 0D). Backspace (BS) is code 8 (hex 08). Escape (ESC) is code 27 (hex 1B). Delete (DEL) is code 127 (hex 7F). The digits 0–9 run from codes 48–57. Uppercase letters A–Z run from 65–90. Lowercase letters a–z run from 97–122. You can look up any character instantly using the ASCII Reference tab — just type the character, its decimal, or its hex value in the search box.
Can I use this tool to generate Markdown tables for GitHub READMEs?
Yes — select the 'Markdown / GitHub' border style to generate GitHub-Flavored Markdown (GFM) pipe tables that render as formatted HTML tables on GitHub, GitLab, Bitbucket, and most Markdown editors. The output uses the standard | column | format with a separator row of dashes between the header and data rows. Text alignment (left, center, right) is encoded in the separator row using colon notation (:---:, ---:, :---). Simply paste the output into your README.md or wiki page and it will render as a proper formatted table.
What are control characters and why are they shown with symbols?
Control characters are the first 32 ASCII characters (codes 0–31) plus DEL (127). They were originally designed to control teletype machines and serial communications — commands like 'start of heading,' 'end of text,' 'bell,' 'backspace,' and 'escape.' Because they are non-printing, displaying them in a table requires a visual substitute. This tool uses the standard Unicode control pictures block (U+2400–U+241F), which assigns dedicated glyphs to each control character: ␀ for NUL, ␇ for BEL, ␈ for BS, ␉ for HT (tab), ␊ for LF (newline), ␍ for CR, ␛ for ESC, and so on. These symbols let you see and identify control characters at a glance in the reference table.