Photo as text. Text as art.
Light, dense, block, or custom character sets. Mono or color, paper or ink background. Download as PNG for a poster, or copy as plain text for a README. Nothing uploads. For real ASCII art, learn jp2a or aalib.
Loading the typewriter…
Loading the typewriter…
Six places text-as-image still works
- 01 for code
A photo as ASCII at the top of a README
GitHub READMEs love ASCII headers. Run a logo or hero photo through here at 80 columns, copy the text, paste into a code-fenced block in your README. Renders in monospace everywhere — terminal, web, IDE. Cross-platform branding, zero PNG.
- 02 for terminals
A welcome banner for your dotfiles
Open a terminal and see your face in ASCII. Convert a portrait at 60 columns with the Light charset, paste the text into your .zshrc as a fortune-on-startup banner. The terminal greets you with you. Strange, but it's something.
- 03 for blogs
A retro-feel blog post hero
Tech blogs that lean retro embed ASCII art instead of stock photos. Render a hero image at 100 columns with Block charset (unicode shading), download the PNG, drop into the post's hero slot. Reads as 'I made this' rather than 'I downloaded this'.
- 04 for stickers
Print an ASCII portrait on a sticker
Run a portrait through Light charset at 100 columns, color mode on, download the PNG. Print on sticker paper. Hand out at a meetup. Tech crowd loves it.
- 05 for prints
A poster that's text up close, photo from far
Classic printmaking trick: from across the room the ASCII reads as a portrait. Up close it's letters and symbols. Block charset at 200 columns, ink-on-paper, print at A2. Frame, hang, watch viewers walk closer to figure it out.
- 06 for nostalgia
A photo that looks like a 1985 BBS upload
Pre-web internet ran on ASCII art. Forums, bulletin boards, login banners — all text. Convert a photo to ASCII Binary charset (just 0s and 1s) and you've got an authentic-feeling artifact. Caption it 'received: 02:14 EST 1985'. Post on social.
Frequently asked
Does the photo upload anywhere? +
No. The conversion runs in your browser — pixel sampling, character mapping, canvas rendering, all client-side. Your photo never touches our servers — we don't run an image pipeline at all.
Light, dense, or block — which charset to pick? +
Light (10 chars) is the classic ASCII look — clean, readable, fits 80-column terminals. Dense (70 chars) gives you near-photographic detail at high resolutions. Block (unicode shading) is best for portraits because the characters fill space more evenly. Binary (0/1) is the bulletin-board nostalgia option.
Why is the PNG huge but the text small? +
The text version is just N×M characters — small. The PNG renders each character at a chosen pixel size, so a 200-column ASCII at 12px characters becomes a 1500-pixel-wide image. Drop columns down or the rendered character size if you need a smaller PNG.
How does the character mapping work? +
We resize the photo down to a tiny grid (one cell per character), measure the average brightness of each cell, and pick a character based on that brightness. Dark cells get dense characters (like @ or #); light cells get sparse ones (like . or space). Reverse with the Invert toggle for light backgrounds.
Can I use my own characters? +
Yes — toggle Custom and type any string. Order matters: dark to light, left to right. Try ' .o0@' for a quick custom 5-char set, or ' ░▒▓█' for unicode block shading. Empty space at the start makes light areas blank.
Why doesn't my portrait look like a face? +
ASCII art shows brightness, not detail. Faces with strong tonal contrast (clear shadows on the cheek, lips, hair) read well. Flat-lit selfies often come out muddy. Tip: bump the original through Photo Filters (Punchy preset) before converting.
now what?
A few ways to use an ASCII piece
next →
Add Text to Photo
Sign the ASCII in a handwritten layer.
Opennext →
Shape Crop
Crop the ASCII to a circle for an avatar.
Opennext →
Polaroid Maker
Frame the ASCII in a paper Polaroid.
Opennext →
Pinterest Pin Maker
Reframe the ASCII as a 1000×1500 pin.
Opennext →
Drop Shadow
Float the ASCII over paper for a portfolio mockup.
Opennext →
Duotone Effect
Recolour with a two-colour palette before exporting.
OpenOther free tools nearby
Background Remover
Cut the background out of any photo in one click.
OpenBackground Replace
Drop your subject onto paper, gradient, or your own backdrop photo.
OpenText Behind Subject
Drop a word behind your subject, magazine-cover style.
OpenPhoto Filters
Nine presets, one photo — vintage to cinematic.
OpenFilm Grain
Tri-X, Kodak Gold, Lomo — pick a roll, see the grain.
OpenHalftone Effect
Comic dots, risograph red, punk-zine textures.
OpenPencil Sketch
Photo to graphite drawing in two clicks.
OpenDuotone Effect
Map photo to two colors — Spotify, sunset, riso.
OpenTilt-Shift Effect
Make real cities look like tabletop dioramas.
OpenLight Leak
Sunset, lomo red, golden hour — bleed light into corners.
OpenRGB Glitch
VHS bands, anaglyph 3D, CRT scanlines, chromatic aberration.
OpenPhoto Negative
Pure invert, cyanotype, blueprint, X-ray, darkroom, sepia negative.
OpenPhoto Mosaic
Photo as tiles with grout-color gaps.
OpenAdjust
Brightness, contrast, saturation, hue, blur — seven sliders.
OpenPolaroid Maker
Any photo, wrapped in paper with a handwritten caption.
OpenPhoto Strip Maker
Four photos, B&W mode, handwritten caption.
OpenDiptych Maker
Two photos, side-by-side or stacked.
OpenPhoto Mat & Border
Paper mat for prints, journals, framed walls.
OpenShape Crop
Circle, heart, star, arch — pick a cookie cutter.
OpenVintage Postcard
Greetings caption, faux stamp, postmark, paper texture.
OpenDrop Shadow
Float a photo over paper for portfolios and mockups.
OpenPinterest Pin Maker
Drop a photo, type a title, pick a layout. 1000×1500 native.
OpenSocial Banner
X, LinkedIn, or YouTube cover with title overlay.
OpenAdd Text to Photo
Handwritten captions, magazine headers, or a quick scribble.
OpenWashi Tape Overlay
Stick paper-mood tape onto any photo.
OpenVintage Date Stamp
LED red, Kodak yellow, camcorder amber.
OpenPhoto Watermark
Corner sign-off or full diagonal tile.
OpenSticker Overlay
Hearts, stars, flowers, smileys, paper tags, HELLO labels.
OpenCrop & Resize
Square for IG, 9:16 for stories, 2:3 for Pinterest.
OpenFlip & Rotate
Mirror a selfie, un-tilt a scan, turn a sideways shot upright.
OpenHEIC to JPG / PNG
iPhone photos that open on everything.
OpenBlur & Pixelate
Hide faces, plates, addresses — drag a patch over the spot.
OpenEXIF Stripper
Remove GPS, camera info, timestamps before posting.
OpenImage Compressor
Smaller JPG, WebP, or PNG — same look, less file.
OpenColor Palette
Pull 5 hex codes out of any photo.
OpenQR Code Generator
Print-ready QR for menus, invites, journals, vCards.
OpenColor Replace
Eyedropper a color in your photo, swap it for another.
OpenTry jp2a or chafa for the real CLI thing.
Real terminal-rendered ASCII art runs through tools like jp2a (one image at a time) or chafa (with full unicode + truecolor). For ASCII video, libcaca and aalib are the ancestors. We give you the JPG output; for live terminal viewing, install those.