Skip to content
Toolcroft

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

  1. Choose a box style: single, double, rounded, bold, or ASCII.
  2. Enter multiline content to auto-size a frame, or leave it empty to set a manual width and height.
  3. Adjust padding and alignment, or turn on a fixed inner width to wrap longer text.
  4. 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

CharacterUnicodeDescription
─U+2500Light horizontal
│U+2502Light vertical
┌U+250CLight down and right (top-left corner)
┐U+2510Light down and left (top-right corner)
└U+2514Light up and right (bottom-left corner)
┘U+2518Light up and left (bottom-right corner)
├U+251CLight vertical and right (left T-junction)
┤U+2524Light vertical and left (right T-junction)
┬U+252CLight down and horizontal (top T-junction)
┴U+2534Light up and horizontal (bottom T-junction)
┼U+253CLight vertical and horizontal (cross)
═U+2550Double horizontal
║U+2551Double vertical
╔U+2554Double down and right (top-left corner)
╗U+2557Double down and left (top-right corner)
╚U+255ADouble up and right (bottom-left corner)
╝U+255DDouble 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.

Browse all developer tools