THE STYLE · DEEP DIVE

$ ./ascii/style — scene 00 of 06

ASCII

A visual style where every pixel is replaced by a character — structured, mechanical, nostalgic, and deliberately imperfect.

scroll to continue

# SCENE 01 — THE RAMP

Why would anyone
draw with a keyboard?

Because a fixed-width font is secretly a grid of pixels in disguise. Pick characters by how much ink they imply — not what they spell — and a photograph emerges from pure text. Drag the slider; it's the entire technique.

++++++++++++++++++

ramp position 5/9 — drag to thin the block out

# SCENE 02 — HOW WE GOT HERE

$ cat print_log.txt

1966First line-printer art circulates

University operators discover that overstriking characters on an impact printer fakes grayscale. Nobody signs the work — it is a side effect of a machine that can only emit characters.

1971Teletype banner culture takes hold

Character banners and signs become a Unix-era in-joke, long before figlet turns the craft into software.

1985BBS login art peaks

Dial-up bulletin boards need graphics that work over a plain text modem connection — ASCII is the only format every terminal can render.

1990ACiD Productions formalizes the scene

Named artists, monthly art packs, credited signature styles — ASCII/ANSI art becomes a competitive craft, not an accident.

1996figlet ships

Hand-drawn ASCII banner lettering becomes a portable, reusable Unix utility.

2006Photo-to-ASCII converters automate the ramp

Tools like jp2a turn the density-mapping idea into a one-line command — anyone can render any photo as text.

2011donut.c goes viral

A spinning 3D torus, rendered live in a terminal using only ASCII shading. Proof the technique still had real range, decades later.

NOWDefault personality layer of dev tools

cowsay, neofetch, and git-log graphs keep the aesthetic alive — not from necessity anymore, but because it still reads as craft.

# SCENE 03 — THE PEOPLE

$ cat artists.txt

The earliest line-printer artists are mostly anonymous — operators turning a slow afternoon into a Snoopy printout, never signing their work. There was no scene yet, just a machine that could only emit characters.

The BBS era changed that. Through the 1980s–90s, art groups like ACiD Productions and iCE competed on style, releasing monthly 'art packs' the way musicians release albums — exactly 80 columns, no true color, a fixed-width font nobody could change. Every artist had to solve 'how do I draw a face with only these 77 keys,' and no two solved it the same way.

Decades later the spirit moved to terminal-tool authors — whoever wrote cowsay as a joke, whoever keeps donut.c alive as a coding kata. The rule carried forward unchanged: if it can't render in a fixed-width grid, it doesn't belong in this style.

"Every BBS artist solved the same
77-key puzzle differently."

# SCENE 04 — THE DESIGN DNA

Five signals. One grid.

SIGNAL 01 · Line-printer art, 1966

DENSITY-AS-SHADING

A ramp from " " to "@" stands in for brightness. Every image on this site is that ramp, mapped over light and shadow — never a real photograph.

.:-=+*#%@

"Mechanical. Mathematical. Unmistakably reverse-engineered."

SIGNAL 02 · Teletypes & impact printers

MONOSPACE, FIXED GRID

No kerning, no proportional spacing — every character occupies an identical cell. The grid is the image; there is no resolution beyond it.

+--+--+--+
|##|::|  |
+--+--+--+

"Rigid. Printed. Honest about its own resolution."

SIGNAL 03 · A deliberate restraint, not a limitation

ONE SIGNAL COLOR

True ASCII art is colorless by nature — text has no color of its own. This world allows exactly one warm amber, reserved for links, the scanline, and the CTA.

plain text amber link plain text

"A single warm light source in an otherwise dark, printed room."

SIGNAL 04 · The reference figurine, converted once

THE GLYPH-CAT MARK

The hero cat statue, rendered once into a fixed ASCII block, reappears throughout the site as a stamp — a signature, not a stock icon.

                                                   -
                                                 -----=
                                               ---------
                                              -----------=
                                 -::::---=   -------------=
                                  =-::-------:------------==
                                  -=-:------:::::::::------==-
                                   ------:::::::::::::----=====
                                   ----::::::::::::::::---======
                                  =--::::::::::::::::::---=======
                                 ----::::::::::::::::----========
                                 -----------------------==========
                                 =------------------===============
                                 ==---:----------=====+++++========
                                 =--::::::::---=====++++++++++======
                                 ------------=====+++++++++++++=====
                                  -===---======++++++++++++++========
                                   =======+++++++*******++++=========
                                      ==++++++++++*****+++++=========
                                            =++++++++++++++==========
                                           ==========================
                                          --------------=============
                                         ----------------------======
                                       ---------::::------------=====
                                     ------::::::::::------------====
                                    ---:::::::::::::::-----------====
                                  ---::::::::::::::::::---------=====
                              ------::::::::::::::::::::-------=====
                          =---:::::::::::::::::::::::::::----=======
                       -----:::::::::::::::::::::::::::::--=========
                     ---:::::::::::::::::::::::::::::::----========
                  =---:::::::::::::::::-::::::::::::-------========
                =-:::::::::::::::::::::---::::-------------=======
               ---:::::::::::::::::::::--------------------=++====
             --:-:::::::::::::::::::::---------------------=++==+
            ----:::::::::::::::::::::----------------------++===
          ------:::::::::::::::::::-----------------------=++=+
         -----:::::::::::::::::---------------------------+++==
        ------::::::::::::-::----------------------------=+++=
       ------:::::::::-----------------------------------++=+
      -------::::::::::---------------------------------=+=+
     ------:::::::::::::::::---------------------------=++=
     -----:::::::::::::::::::-------------------------==+=
    -----:::::::::::::::------------------------------+==+
   ------:::::::::::::-------------------------------====
   -------::::::::::--------------------------------====
   -----------::------------------------------------====
  -------------------------------------=------------===
  -------------------------------------------------====
  --------------------------------------=----------===
 =--------------------------------------=----------===
 ---------------------------------------==---------===
 --------------------------------------------------===
 ----------------------------------::--------------===
 -------------------------------------===----==----===
+:-------------------------------=======-----===----==
=:--------------------------------====-------===----===
=:--------------------------------=----------===-----====
=::-----------------------------------------===--------===
 -:------------------------------------:--====-----------==
 --::::------------------------------:---====-------------=
  ---::::------------------------------==+===--------------
   =-----::::::::::::-:----:---------=+           ====  =
     =-----------------------======+
           ================++
                                                   -
                                                 -----=
                                               ---------
                                              -----------=
                                 -::::---=   -------------=
                                  =-::-------:------------==
                                  -=-:------:::::::::------==-
                                   ------:::::::::::::----=====
                                   ----::::::::::::::::---======
                                  =--::::::::::::::::::---=======
                                 ----::::::::::::::::----========
                                 -----------------------==========
                                 =------------------===============
                                 ==---:----------=====+++++========
                                 =--::::::::---=====++++++++++======
                                 ------------=====+++++++++++++=====
                                  -===---======++++++++++++++========
                                   =======+++++++*******++++=========
                                      ==++++++++++*****+++++=========
                                            =++++++++++++++==========
                                           ==========================
                                          --------------=============
                                         ----------------------======
                                       ---------::::------------=====
                                     ------::::::::::------------====
                                    ---:::::::::::::::-----------====
                                  ---::::::::::::::::::---------=====
                              ------::::::::::::::::::::-------=====
                          =---:::::::::::::::::::::::::::----=======
                       -----:::::::::::::::::::::::::::::--=========
                     ---:::::::::::::::::::::::::::::::----========
                  =---:::::::::::::::::-::::::::::::-------========
                =-:::::::::::::::::::::---::::-------------=======
               ---:::::::::::::::::::::--------------------=++====
             --:-:::::::::::::::::::::---------------------=++==+
            ----:::::::::::::::::::::----------------------++===
          ------:::::::::::::::::::-----------------------=++=+
         -----:::::::::::::::::---------------------------+++==
        ------::::::::::::-::----------------------------=+++=
       ------:::::::::-----------------------------------++=+
      -------::::::::::---------------------------------=+=+
     ------:::::::::::::::::---------------------------=++=
     -----:::::::::::::::::::-------------------------==+=
    -----:::::::::::::::------------------------------+==+
   ------:::::::::::::-------------------------------====
   -------::::::::::--------------------------------====
   -----------::------------------------------------====
  -------------------------------------=------------===
  -------------------------------------------------====
  --------------------------------------=----------===
 =--------------------------------------=----------===
 ---------------------------------------==---------===
 --------------------------------------------------===
 ----------------------------------::--------------===
 -------------------------------------===----==----===
+:-------------------------------=======-----===----==
=:--------------------------------====-------===----===
=:--------------------------------=----------===-----====
=::-----------------------------------------===--------===
 -:------------------------------------:--====-----------==
 --::::------------------------------:---====-------------=
  ---::::------------------------------==+===--------------
   =-----::::::::::::-:----:---------=+           ====  =
     =-----------------------======+
           ================++

"Recognizable. Reused on purpose, never redrawn."

SIGNAL 05 · How line-printer and modem art actually rendered

REVEAL BY SCANLINE

Every entrance animation sweeps a horizontal line of rows into place, echoing how this art was originally produced: top to bottom, one row at a time.

row 1
row 2 ◀ scanning
row 3 (not yet)

"Patient. Mechanical. Literally "rendering.""

# SCENE 06 — VERDICT

Every pixel already had
a character that wanted
the job.

                                                   -
                                                 -----=
                                               ---------
                                              -----------=
                                 -::::---=   -------------=
                                  =-::-------:------------==
                                  -=-:------:::::::::------==-
                                   ------:::::::::::::----=====
                                   ----::::::::::::::::---======
                                  =--::::::::::::::::::---=======
                                 ----::::::::::::::::----========
                                 -----------------------==========
                                 =------------------===============
                                 ==---:----------=====+++++========
                                 =--::::::::---=====++++++++++======
                                 ------------=====+++++++++++++=====
                                  -===---======++++++++++++++========
                                   =======+++++++*******++++=========
                                      ==++++++++++*****+++++=========
                                            =++++++++++++++==========
                                           ==========================
                                          --------------=============
                                         ----------------------======
                                       ---------::::------------=====
                                     ------::::::::::------------====
                                    ---:::::::::::::::-----------====
                                  ---::::::::::::::::::---------=====
                              ------::::::::::::::::::::-------=====
                          =---:::::::::::::::::::::::::::----=======
                       -----:::::::::::::::::::::::::::::--=========
                     ---:::::::::::::::::::::::::::::::----========
                  =---:::::::::::::::::-::::::::::::-------========
                =-:::::::::::::::::::::---::::-------------=======
               ---:::::::::::::::::::::--------------------=++====
             --:-:::::::::::::::::::::---------------------=++==+
            ----:::::::::::::::::::::----------------------++===
          ------:::::::::::::::::::-----------------------=++=+
         -----:::::::::::::::::---------------------------+++==
        ------::::::::::::-::----------------------------=+++=
       ------:::::::::-----------------------------------++=+
      -------::::::::::---------------------------------=+=+
     ------:::::::::::::::::---------------------------=++=
     -----:::::::::::::::::::-------------------------==+=
    -----:::::::::::::::------------------------------+==+
   ------:::::::::::::-------------------------------====
   -------::::::::::--------------------------------====
   -----------::------------------------------------====
  -------------------------------------=------------===
  -------------------------------------------------====
  --------------------------------------=----------===
 =--------------------------------------=----------===
 ---------------------------------------==---------===
 --------------------------------------------------===
 ----------------------------------::--------------===
 -------------------------------------===----==----===
+:-------------------------------=======-----===----==
=:--------------------------------====-------===----===
=:--------------------------------=----------===-----====
=::-----------------------------------------===--------===
 -:------------------------------------:--====-----------==
 --::::------------------------------:---====-------------=
  ---::::------------------------------==+===--------------
   =-----::::::::::::-:----:---------=+           ====  =
     =-----------------------======+
           ================++
                                                   -
                                                 -----=
                                               ---------
                                              -----------=
                                 -::::---=   -------------=
                                  =-::-------:------------==
                                  -=-:------:::::::::------==-
                                   ------:::::::::::::----=====
                                   ----::::::::::::::::---======
                                  =--::::::::::::::::::---=======
                                 ----::::::::::::::::----========
                                 -----------------------==========
                                 =------------------===============
                                 ==---:----------=====+++++========
                                 =--::::::::---=====++++++++++======
                                 ------------=====+++++++++++++=====
                                  -===---======++++++++++++++========
                                   =======+++++++*******++++=========
                                      ==++++++++++*****+++++=========
                                            =++++++++++++++==========
                                           ==========================
                                          --------------=============
                                         ----------------------======
                                       ---------::::------------=====
                                     ------::::::::::------------====
                                    ---:::::::::::::::-----------====
                                  ---::::::::::::::::::---------=====
                              ------::::::::::::::::::::-------=====
                          =---:::::::::::::::::::::::::::----=======
                       -----:::::::::::::::::::::::::::::--=========
                     ---:::::::::::::::::::::::::::::::----========
                  =---:::::::::::::::::-::::::::::::-------========
                =-:::::::::::::::::::::---::::-------------=======
               ---:::::::::::::::::::::--------------------=++====
             --:-:::::::::::::::::::::---------------------=++==+
            ----:::::::::::::::::::::----------------------++===
          ------:::::::::::::::::::-----------------------=++=+
         -----:::::::::::::::::---------------------------+++==
        ------::::::::::::-::----------------------------=+++=
       ------:::::::::-----------------------------------++=+
      -------::::::::::---------------------------------=+=+
     ------:::::::::::::::::---------------------------=++=
     -----:::::::::::::::::::-------------------------==+=
    -----:::::::::::::::------------------------------+==+
   ------:::::::::::::-------------------------------====
   -------::::::::::--------------------------------====
   -----------::------------------------------------====
  -------------------------------------=------------===
  -------------------------------------------------====
  --------------------------------------=----------===
 =--------------------------------------=----------===
 ---------------------------------------==---------===
 --------------------------------------------------===
 ----------------------------------::--------------===
 -------------------------------------===----==----===
+:-------------------------------=======-----===----==
=:--------------------------------====-------===----===
=:--------------------------------=----------===-----====
=::-----------------------------------------===--------===
 -:------------------------------------:--====-----------==
 --::::------------------------------:---====-------------=
  ---::::------------------------------==+===--------------
   =-----::::::::::::-:----:---------=+           ====  =
     =-----------------------======+
           ================++