For the complete documentation index, see llms.txt. Markdown variants are available by appending .md to any URL or sending an Accept: text/markdown header. The asciicn agent skill, for building any ASCII effect on the engine, is at /.well-known/agent-skills/asciicn/SKILL.md.

Catalog

Every component and background built on the asciicn engine, grouped by what it's for.

Each component and background installs as plain source into components/asciicn/. Drop one into your page as it is, read its source to see how it's made, or point your agent at one and ask for a variation. For anything not here, ask your agent or write your own. To try looks before you install, open the Studio.

City skylines

10

Animated ASCII skylines of ten cities, each one component you put behind a hero.

Landscapes

6

Painted halftone landscapes in glyph dots, each one component you put behind a hero.

3D & scenes

11

Real-time 3D objects and animated scenes drawn in glyphs.

Shaders & fields

6

Seeded glyph fields that run on the GPU, for heroes, sections and cards.

Media & filters

7

Turn images, video and logos into ASCII.

Text & typography

7

Display type set in glyphs: banners, scrambles, glitches, typewriters and tickers.

Terminal & UI

15

Terminal-grade interface pieces: frames, buttons, loaders and status, in real text.

Using a component

Install any component by name. It brings the parts of the engine it needs the first time:

pnpm dlx shadcn@latest add https://asciicn.dev/r/nebula.json

Backgrounds fill the box you give them. Put one behind your content with absolute inset-0:

import { Nebula } from "@/components/asciicn/nebula";
 
export function Hero() {
  return (
    <section className="relative isolate min-h-[480px]">
      <Nebula charset="braille" className="absolute inset-0 -z-10" />
      <h1>Your headline</h1>
    </section>
  );
}

Components that draw on the engine share these look props:

PropWhat it controlsDefault
charsetThe glyph set: "standard", "dense", "blocks", "quadrants", "braille", "cp437", "petscii", "katakana", "dots", "edge"Chosen per component
charsA custom ramp from empty to dense, such as " .oO@". Wins over charsetnone
colorMode"mono", "truecolor", "ansi16", "duotone" or "palette"Chosen per component
phosphorMono screen colour: "p1", "p3", "ibm" or "blueprint"--ascii-ink
rampDuotone ramp, such as "mainframe", "sodium" or "glacier"Chosen per component
fxCRT post effects: scanlines, bloom, curvature, glitch, flicker, vignette, each 0 to 1none
cellGlyph cell height in CSS pixels--ascii-cell
animateWhether it movestrue
speedHow fast it moves1
handleA ref that can capture the current frame for exportnone

Terminal and UI pieces take a color from the named palette and their own content props. Each page lists every prop.