TopoGlyph

topology-matched text art, rendered entirely in your browser

Output

Choose an image above, then click Render.

Image

  1. Drop or choose an image.
  2. Leave Charset on Lines the first time — it's the only option that works without uploading anything. ASCII / Blocks / Braille / Custom all rasterize their characters from a font you provide, so picking one of those without also choosing a “Font File (TTF/OTF)” below it is the most common reason Render fails with “needs a font file”. Any TTF/OTF on your system works.
  3. Click Render. Adjust Columns/Rows/Tolerance/Chaikin and re-render to taste.
  4. Copy Text copies the raw characters (works with any charset); Download .txt saves it to a file.

Video / GIF

  1. Drop a video or animated GIF. Everything happens in your browser — there is no server and no FFmpeg; frames are grabbed via the browser's native <video>/<canvas> element, so exotic codecs your browser can't already play won't decode here either.
  2. Same charset rule as Image applies: non-“Lines” charsets need a font file.
  3. Sample FPS controls how many frames per second of the source are converted — higher values take longer and produce a larger .tglyph file.
  4. Click Convert, then Play to preview the result in the Playback panel, or Download .tglyph to save the animation as a plain text file (see the .tglyph format).

Glyph Atlas

Pick a charset (same font requirement applies) and click Inspect to see every candidate glyph's stroke mask, boundary ports, and matching features — useful for understanding why a render chose the characters it did.

Parameters Guide

  • Charset: The "palette" of characters. Lines/ASCII/Blocks/Braille are built-in. You only need to upload a font file if you select Custom.
  • Preset: Line Art focuses on structural topology; Han / Emoji focuses on pixel density for smoother, bolder shapes.
  • Columns: Leave empty for Auto. Higher numbers (e.g., 150-200) yield much higher resolution.
  • RDP / Chaikin: Contour pre-processing. Set Chaikin to 2 or 3 for smoother curves.
  • Top-K / Relaxation: Controls how hard the algorithm tries to seamlessly connect neighboring characters.