ASCII Camera for iPhone & iPad

Not a filter.
Not AI.
The real thing.

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.

Download on the App Store
ASCII Camera app icon
Loading…

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

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.


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.

STDStandard
.:-*+=%@#
10 characters · classic ASCII ramp
DNSDense
`.'_,^~":!-;/(*][\+1<?>)|r{Iil}utxvcJnzYLjaCo%f&XwU0kh$ZOqmbp8@W#dMQB
70+ characters · fine tonal gradation
SMPSimple
.-*+@
6 characters · minimal, high contrast
BLKBlocks
░▒▓█
5 characters · Unicode block elements
BRLBraille
⠀⠁⠂⠄⠈⠐⠠⡀⢀⠃⠅⠆⠉⠊⠌⠑⠒⠔⠘⠡⠢⠤⠨⠰⡁⡂⡄⤁⤂⤄⥀⠇⠋⠍⠎⠓⠕⠖⠙⠚⠣⠥⠦⠩⠪⠬⠱⠲⠴⠸⣿
256 patterns · dot-count density mapping
KATKatakana
・・ーュiィfェイゥァヘンマャフッミソョトウシレォナラコメスンアワエキテヒヲクヤリケツヌコチニ゙ネヨハタチムヨセモルサユニホロ
Halfwidth katakana · sorted by ink density
HEBHebrew
ינדוךגזברכןלץהמםסצקחתטפאעףש
28 characters · Hebrew alphabet, density sorted
CYRCyrillic
гтґсхьчїяізоєуцнпклвеаишждрюбмйщф
Cyrillic · Ukrainian alphabet, density sorted
GRKGreek
ιτπνυεογλκσχρζηωαμξψδθφβ
24 characters · Greek alphabet, density sorted
INTLInternational
.・:-ーיι*іוחזгニ+тґノトןנンרτ=ヘגィェדイフνךコץュчミナエзリυуכאラλセγחスアヤヒヨєヲнпムлョォצツチבעキиטηヌハモζцοоקネяתχサξמμオカπσαеタρврмψδюбθφ#%βшщф@
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.


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.

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 Same team

The same obsession.
A different medium.

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.

Visit analogtv.net →

See your world in characters.

Runs entirely on your iPhone or iPad. No account, no subscription, no data collected. Camera access stays on your device.

Download on the App Store

iPhone & iPad  ·  iOS 16+  ·  Privacy Policy