Published on : 2026-04-25 10:45
If you spend any time writing in Gemtext or Gophermaps or just
text ,you quickly run into a familiar limitation: there are no
native tables. That's part of the charm - Gemtext, gophermaps and
text are intentionally minimal - but it also means that anything
resembling structured data needs a bit of creativity.
One surprisingly effective workaround is to lean on Unicode
box-drawing characters. These are the same symbols terminals have
used for decades to build text-based interfaces, and they still
hold up remarkably well today. With a monospaced font, they let
you create clean, readable tables that feel right at home in a
Gemini capsule or gopher hole.
The result isn't just functional - it's pleasantly retro, highly
portable, and fits perfectly within the constraints of plain text.
Below are a few examples you can copy, tweak, and reuse in your
own Gemtext pages, gophermaps or text files.
Bold table headers
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Table with bold headers ┃
┣━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┫
┃ Sub heading 1 ┃ Sub heading 2 ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
│ Name 1 │ John │
├────────────────┼─────────────────┤
│ Name 2 │ Johnson │
├────────────────┼─────────────────┤
│ Name 3 │ Phoebe │
└────────────────┴─────────────────┘
Bold lines
‾‾‾‾‾‾‾‾‾‾
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Table with bold lines ┃
┣━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┫
┃ Name 1 ┃ John ┃
┣━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━┫
┃ Name 2 ┃ Johnson ┃
┣━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━┫
┃ Name 3 ┃ Phoebe ┃
┗━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━┛
Simple lines
‾‾‾‾‾‾‾‾‾‾‾‾
┌──────────────────────────────────┐
│ Table with simple lines │
├────────────────┬─────────────────┤
│ Name 1 │ John │
├────────────────┼─────────────────┤
│ Name 2 │ Johnson │
├────────────────┼─────────────────┤
│ Name 3 │ Phoebe │
└────────────────┴─────────────────┘
Double lines
‾‾‾‾‾‾‾‾‾‾‾‾
╔══════════════════════════════════╗
║ Table with double lines ║
╠════════════════╦═════════════════╣
║ Name 1 ║ John ║
╠════════════════╬═════════════════╣
║ Name 2 ║ Johnson ║
╠════════════════╬═════════════════╣
║ Name 3 ║ Phoebe ║
╚════════════════╩═════════════════╝
Rounded corners
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
╭──────────────────────────────────╮
│ Table with rounded corners │
├────────────────┬─────────────────┤
│ Name 1 │ John │
├────────────────┼─────────────────┤
│ Name 2 │ Johnson │
├────────────────┼─────────────────┤
│ Name 3 │ Phoebe │
╰────────────────┴─────────────────╯
+ and - characters
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
+----------------------------------+
| Simple plus and minus |
+----------------+-----------------+
| Name 1 | John |
+----------------+-----------------+
| Name 2 | Johnson |
+----------------+-----------------+
| Name 3 | Phoebe |
+----------------+-----------------+
No exterior borders ? Ok
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
Table without exterior borders
────────────┬─────────┬──────────────
Name │ Score │ Rank
────────────┼─────────┼──────────────
John │ 100 │ 1
Johnson │ 97 │ 2
Phoebe │ 79 │ 3
Combination ? Sure
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
╭─────────────────────────────────────────╮
│ Combined: Rounded top / bottom square │
├──────────────────────────────┬──────────┤
│ CPU Usage │ 35% │
├──────────────────────────────┼──────────┤
│ Memory Usage │ 62% │
├──────────────────────────────┼──────────┤
│ Disk Usage │ 71% │
└──────────────────────────────┴──────────┘
One of the nicest things about working with box-drawing characters
is how flexible they are. You're not limited to a single "correct"
style-mixing light and heavy lines, trying different junctions, or
adjusting spacing can completely change the feel of a table. With
a bit of experimentation, you can create layouts that match your
own aesthetic, from minimal and subtle to bold and retro.
Don't be afraid to tweak and combine characters.
The real fun is in making something that feels uniquely yours.
(DIR) Back to my phlog