Box Drawing Generator - ASCII & Unicode Boxes and Tables
Developer Tools
Build Unicode or ASCII text boxes and tables with titles, padding, alignment, and wrapping. Copy clean monospace output for terminals, comments, and docs.
┌────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ └────────────────────────────┘
How to use this tool
- Choose a box style: single, double, rounded, bold, or ASCII.
- Enter multiline content to auto-size a frame, or leave it empty to set a manual width and height.
- Adjust padding and alignment, or turn on a fixed inner width to wrap longer text.
- Copy the result with the Copy button.
Box drawing characters
Unicode Box Drawing block (U+2500–U+257F) contains 128 characters for drawing tables, diagrams, and frames in plain text. They are part of every modern font and render correctly in terminals, code blocks, and markdown files.
Common characters
Corners: ┌ ┐ └ ┘ (light) ╔ ╗ ╚ ╝ (double)
Horizontal: ─ ━ (light/heavy)
Vertical: │ ┃ (light/heavy)
T-junctions: ├ ┤ ┬ ┴ ┼
Rounded corners: ╭ ╮ ╯ ╰ Uses
- ASCII diagrams in code comments, README files, and technical documentation.
- Terminal UI (TUI) applications that display tables and panels.
- Decorative frames for cards and banners in monospace contexts.
Frames around text
Enter one or more lines in Content to create a box around a note, command output, or code comment. With automatic sizing, the inside width follows the longest line plus the selected left and right padding; the outer border adds two more columns. The frame height follows the number of content lines plus its top and bottom borders. Empty lines remain as empty rows.
Fixed inner width wraps text at spaces when possible, then keeps long words within the chosen width by breaking them only when they cannot fit on a line. Padding can be set from zero to four spaces, and left, center, or right alignment applies within the available content area. A title is centered in the top border, and a long title expands the frame to fit.
Choose ASCII for destinations with limited Unicode support: its corners and table junctions
use +, with - horizontal lines and | vertical lines. Unicode
box characters are measured as single JavaScript characters; some CJK characters, emoji, and combining
sequences occupy different terminal widths, so their visual alignment can vary by font and terminal.
Full character reference
| Character | Unicode | Description |
|---|---|---|
| ─ | U+2500 | Light horizontal |
| │ | U+2502 | Light vertical |
| ┌ | U+250C | Light down and right (top-left corner) |
| ┐ | U+2510 | Light down and left (top-right corner) |
| └ | U+2514 | Light up and right (bottom-left corner) |
| ┘ | U+2518 | Light up and left (bottom-right corner) |
| ├ | U+251C | Light vertical and right (left T-junction) |
| ┤ | U+2524 | Light vertical and left (right T-junction) |
| ┬ | U+252C | Light down and horizontal (top T-junction) |
| ┴ | U+2534 | Light up and horizontal (bottom T-junction) |
| ┼ | U+253C | Light vertical and horizontal (cross) |
| ═ | U+2550 | Double horizontal |
| ║ | U+2551 | Double vertical |
| ╔ | U+2554 | Double down and right (top-left corner) |
| ╗ | U+2557 | Double down and left (top-right corner) |
| ╚ | U+255A | Double up and right (bottom-left corner) |
| ╝ | U+255D | Double up and left (bottom-right corner) |
Worked example: directory tree
Box-drawing characters are the building blocks of directory tree diagrams in terminal output
and documentation (similar to what tree and ls --tree produce):
src/
├── components/
│ ├── Header.astro
│ └── Footer.astro
├── pages/
│ ├── index.astro
│ └── about.astro
└── styles/
└── global.css
The ├── sequence combines U+251C (left T-junction), U+2500 (horizontal), and U+2500
again. The final item in each directory uses └── (U+2514 + two U+2500s). Continuation
lines use │ (U+2502) with spaces for indentation.
Font compatibility
Box-drawing characters render correctly in monospace fonts: Consolas, Courier New, JetBrains
Mono, Fira Code, Cascadia Code, and most terminal fonts. They break or become misaligned in
proportional fonts (Arial, Helvetica, Times New Roman) because the characters rely on fixed
character widths to form continuous lines. Always display box-drawing output in a
<pre> block or a monospace environment.
Frequently asked questions
What are box-drawing characters?
Box-drawing characters are Unicode characters (U+2500 block) used to construct rectangular borders, tables, and diagrams in plain text.
When should I choose ASCII instead of Unicode?
Choose ASCII when the destination has limited font or encoding support. Its +, -, and | borders are broadly compatible; Unicode styles offer rounded, double, and heavier lines.
Why can some text look misaligned inside a box?
The generator counts JavaScript characters, while CJK characters and some emoji occupy two terminal columns and combined emoji can vary. Use monospace output and ASCII when you need predictable compatibility.
Related tools
- ASCII TableUse ASCII Table to complete, searchable ASCII character table. Look up any.
- ASCII Text ArtUse ASCII Text Art to convert text to large ASCII art banners using.
- Markdown EditorUse Markdown Editor to free online Markdown editor with live preview, toolbar.
- Text IndenterUse Text Indenter to add or remove indentation from every line of.