Skip to content

Latest commit

 

History

History
108 lines (79 loc) · 3.12 KB

File metadata and controls

108 lines (79 loc) · 3.12 KB

Typecast

Images to binary, ASCII and character art
Local browser converter. Zoom stage. Export HD to 8K.

Live demo Stars License Privacy TypeScript

Open app · Features · Stack · Develop · Deploy · Ko-fi


Drop a photo. Pick a charset. Export a high-res character render.

Everything runs in your browser. Nothing is uploaded.

Features

  • Stage-first UI with floating bar for zoom, pan, replace and export
  • Scroll zoom and drag pan (fit is 100%; smooth when zoomed out)
  • Charsets: binary 01, digits, hex, density ASCII, blocks ░▒▓█, matrix カナ, custom
  • Color modes: tinted, tinted raw, full color, B&W, inverted, neon
  • Export panel: PNG / JPEG / WebP at HD · 2K · 4K · 8K
  • Web Worker render path for heavy jobs
  • i18n: EN · PL · DE · ES · FR · UK (instant switch, saved locally)
  • Privacy-first: pixels never leave the device

Stack

Layer Choice
UI React 18, TypeScript, Vite 6, Tailwind CSS 4
Components Base UI / shadcn-style primitives
Icons Phosphor
Render Canvas 2D + optional Web Worker
Deploy Vercel (static SPA)

Develop

Requires Bun (or Node 20+).

bun install
bun run dev
bun run build
bun run preview

Deploy

Live: typecast2.vercel.app

Push to main deploys on Vercel automatically.

npx vercel --prod

How it works

  1. Sample the image into a character grid (columns × aspect)
  2. Map luminance to density or charset choice
  3. Draw glyphs on a high-res canvas (integer pixel centers)
  4. Preview uses a screen-sized render; export re-renders at HD–8K on demand
Image → sample grid → luminance → chars → canvas → PNG / JPEG / WebP
              ↑                      ↑
         columns / font        color mode / tint

Privacy

Conversion is 100% local. No upload API. No account required.

Support

If Typecast is useful, you can fuel more of it on Ko-fi.

Contributing

Issues and PRs welcome. Keep the core local-only (no server-side image pipeline).

License

MIT © wiktorekdev