Skip to content

Introduction

glyphcss turns 3D models into ASCII art. It rasterizes meshes (OBJ, glTF, GLB, STL, MagicaVoxel .vox) into a character grid rendered as plain text in a single <pre> — no WebGL, no canvas, no per-polygon DOM nodes. Use it in the browser (vanilla, React, or Vue), or render straight to your terminal with the CLI. JavaScript runs once at scene init and again only when the user drags or zooms — never per frame.

It’s the successor to polycss, the CSS-transform polygon paint engine — same scene/camera API, but the paint backend emits ASCII text instead of a DOM node per polygon.

 
Loading…

A glyphcss scene is one <pre> per scene plus a sparse <div> hit layer. The <pre> contains N pre-baked rotation frames stacked vertically; CSS animates the strip with steps(N, end) over a configurable duration. Hotspots (one per registered 3D anchor) get their own @keyframes that step through projected positions in sync with the strip.

glyphcssCSS polygon renderers
Cost dominatorgrid cell countpolygon count
Per-polygon DOM eventsopt-in via <GlyphHotspot>✓ (one node per polygon)
Texture / material supportwireframe + Lambert ramp + voxel facefull UVs, atlas, lighting
Per-frame JS worknone (CSS-driven)none (CSS-driven)
Visual styleASCII / glyph artsmooth-shaded

glyphcss is the right tool when you want iconic, terminal-aesthetic 3D with handpicked interactivity — not when you need photorealistic texture mapping.

  • Quickstart — npm-installable demo in 30 seconds.
  • Core Concepts — the strip flipbook, the hit layer, the camera contract.
  • Gallery — tune live, see the renderer at work.