Images to binary, ASCII and character art
Local browser converter. Zoom stage. Export HD to 8K.
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.
- 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
| 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) |
Requires Bun (or Node 20+).
bun install
bun run devbun run build
bun run previewLive: typecast2.vercel.app
Push to main deploys on Vercel automatically.
npx vercel --prod- Sample the image into a character grid (
columns× aspect) - Map luminance to density or charset choice
- Draw glyphs on a high-res canvas (integer pixel centers)
- 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
Conversion is 100% local. No upload API. No account required.
If Typecast is useful, you can fuel more of it on Ko-fi.
Issues and PRs welcome. Keep the core local-only (no server-side image pipeline).
MIT © wiktorekdev