Transform images and video into ASCII art using WebAssembly and WebGPU.
Key Features • Uses • Project Structure • Getting Started • Sharing API • Credits
Asciigen-WASM is a zig-to-wasm implementation inspired by @seatedro's Asciigen. The WebGPU version is still experimental.
- Image Conversion: Transform images into ASCII art with customizable options
- Text Styling: Convert images to ASCII text with adjustable size and brightness
- Video Processing: Convert videos to ASCII art videos
- Camera Support: Use your device's camera as an input source
- Sharing: Share your creations with others (images < 0.5MB)
- Mobile Support: Fully responsive with pinch and zoom functionality. FFmpeg WASM may crash due to page size limits.
- Svelte
- WebAssembly (zig-to-wasm)
- WebGPU (experimental)
- Cloudflare Pages
- Cloudflare Turnstile (for sharing api)
- Web Workers
- Offscreen Canvas
- FFmpeg WASM
- Mediainfo.JS WASM
The project is divided into three main components:
- zig-to-wasm: WebAssembly core functionality
- Site: Svelte-based frontend
- Sharing API: Backend for sharing functionality
- Clone the repository
- Navigate to each component's directory for specific setup instructions
- Deploy the site using Cloudflare Pages for a 100% free hosting solution
- Free to use for original images < 0.5MB
- Images are re-rendered into ASCII on the user's device
- Utilizes free GCP credits, Bun + SQLite, and Cloudflare services
- If the server crashes, it crashes 🤷♂️
Inspired by @seatedro's Asciigen