Turn your camera into a live ASCII art terminal. Every frame is a genuine character rendering — pixel brightness mapped to character density, exactly the way real ASCII art has always worked. Metal GPU. Zero shortcuts.
This is a pre-rendered preview, not the real thing. The app renders live from your camera at 60 fps — every frame a genuine ASCII conversion in real time. The demo above shows 3 of the app’s 10 character sets across a short looping clip. Download to see all character sets, all 6 colour modes, and the full live experience.
⏸ Pause the animation, then select and copy the text — you can paste real ASCII art straight into any document or text editor. In the app this is far more powerful: one tap shares or exports the full-resolution ASCII text, image, or video.
10
Character Sets
6
Colour Modes
70+
Dense Characters
150+
International Glyphs
60fps
Metal GPU Rendering
4–24pt
Character Size
0
Data Collected
Features
Everything in the frame. Nothing in the cloud.
ASCII Camera runs entirely on your device. The camera feed never leaves your phone — every frame is processed locally by the GPU and rendered as characters in real time.
Live ASCII Video
The camera feed converts to ASCII art in real time. Point, frame, watch. Front and back cameras supported, with the full lens picker on multi-camera iPhones.
Photo Mode
Freeze the live feed and capture a single ASCII frame as a full-resolution image. The result goes straight to your camera roll.
Video Recording
Record ASCII video with synchronised audio. The full character grid at full resolution, exported as a standard video file ready to share.
Import from Library
Convert any photo or video from your camera roll into ASCII. Choose the character set, size, and colour after import — re-render as many times as you like.
Metal GPU Rendering
Every frame is rendered on the GPU using Apple’s Metal framework. Smooth at 60fps even on the densest character grids. No dropped frames, no stutter.
Adjustable Character Size
Slide from 4pt to 24pt. Small characters pack more detail into the grid; large ones make the ASCII structure itself the visual — bold and graphic.
Six Colour Modes
Per-character colour sampled from the live frame, classic terminal green, warm amber, blue, crisp white on black, or inverted black on white. Each mode changes the entire character of the image.
Share & Export
Share the ASCII image, video, or raw text via the standard iOS share sheet. AirDrop it, message it, post it — one tap from any mode.
Character Sets
Ten grids. One for every look.
Each character set is sorted by visual density — lighter characters for bright pixels, heavier ones for dark. The choice of set changes the texture and detail of the output as much as the subject itself.
151 characters · all five scripts unified by density
Two hard constraints determine which scripts can work here. First, cell width: Chinese characters, Japanese kanji and hiragana, and Korean hangul are all double-width — each glyph occupies two fixed cells, and squeezing it into one produces an unreadable smear. Katakana is included as the halfwidth variant (the ヲ–ン range), which fits a single cell like any Latin character. Second, contextual shaping: Arabic, Persian, and Devanagari (Hindi, Sanskrit) change the form of each glyph depending on its neighbours, or attach combining marks to a base character. The grid places every cell independently with no awareness of adjacent characters, so those shapes can never assemble correctly. Every set here is single-width and shape-invariant.
Colour Modes
Six ways to see in ASCII.
Colour is applied per character. In Colour mode, each glyph takes the RGB value of the pixel it represents — a full-colour ASCII image updated every frame. The solid modes swap the entire palette while keeping the character structure intact.
Colour
Per-character RGB sampled from the live frame. Full colour ASCII, every frame.
Green Terminal
Classic terminal green. Matrix, BBC Micro, VT100 — the original ASCII aesthetic.
White on Black
Pure white glyphs on black. All character, no colour distraction.
Black on White
Black glyphs on a white background. Crisp, print-like, inverted.
Amber
Warm phosphor amber. Early PC monitors and amber CRT terminals.
Blue
Vivid cyan-blue. Cold, clean, contemporary.
How It Works
A brightness lookup. That’s the whole trick.
ASCII art has one core idea: assign a character to each pixel based on how bright or dark it is. Light pixels get light characters (spaces, dots); dark pixels get heavy ones (@, #, M). ASCII Camera does exactly that — sorted by visual weight, updated every frame, rendered by the GPU.
01
Camera frame captured
Each frame arrives from the sensor as a grid of RGB values. Front camera, back camera, imported video — all follow the same path from this point.
02
Brightness lookup
Each pixel’s luminance (0–255) is mapped through a pre-computed lookup table that divides the character set evenly across the brightness range. The heavier-looking the character, the darker the pixel it represents.
03
GPU renders the character grid
Metal draws every glyph at the selected point size using Courier New — a fixed-width font chosen for its even character width, giving the grid clean columns and consistent density at any size.
04
Frame delivered
The rendered frame is displayed on screen, written to the recording buffer, or exported — depending on mode. Nothing leaves the device at any point in the pipeline.
Analog TV Simulator models the complete analogue broadcast television chain from first principles — camera tube, composite signal encoding, VCR tape degradation, RF transmission, Pay TV scrambling, and CRT phosphor chemistry. Every artefact emerges from the signal; no filters are applied over a clean image.
ASCII Camera is built with exactly the same philosophy. The brightness lookup, the character density sort, the per-frame GPU render — these are the actual mechanisms of ASCII art, not a stylistic approximation of one. If you love what Analog TV Simulator does for CRT and VHS, this is the same attention to detail applied to the ASCII terminal aesthetic.