ASCII Studio
Loading the studio…

Photo to ASCII art generator

ASCII Studio turns a photo into ASCII art you can grade, animate and put on a website. Pick a look, cut out the background, choose how the art reacts to the cursor, then export a Next.js component, a PNG, an SVG or plain text. It all runs in your browser.

Price
Free, with no account and no watermark.
Privacy
Photos stay on your device. Nothing is uploaded.
Output
A React client component with no dependencies.

Open the editor

How it works

Six steps from a photo to a component on your site.

  1. Open a photo

    Drop it on the page, paste it with ⌘V, or start from one of the public-domain samples. JPG, PNG, WebP and GIF all work.

  2. Remove the background

    Use People for portraits, Any subject for products and animals, or Solid color for studio shots. The model runs on your device.

  3. Grade the color

    Pick one of 60 looks or import a .cube LUT, then adjust brightness, contrast, gamma and clipping. Auto sets the levels from the photo.

  4. Choose the glyphs

    Pick a character set, the number of columns, a dithering method and a font. Turn on colored glyphs to keep the photo's colors.

  5. Add motion

    Choose one of 13 cursor effects, an ambient loop and an entrance that plays when the art scrolls into view.

  6. Export

    Download a Next.js component, a PNG up to 3840 pixels wide, an SVG or plain text.

Kinds of ASCII art

Every mode works with color, dithering and cursor effects.

Density
Darker areas get heavier characters. Ten character sets, from a classic ten-step ramp to blocks, dots and Katakana, plus your own set sorted by ink.
Lines
Edge detection traces the outlines of the photo with - / | \, with optional shading underneath.
Braille
Eight dots per character give braille art about four times the detail of a density ramp.
Text
Your own words fill the shape of the subject, with dithering at the edges.
Colored
Each cell gets a tile of the graded photo color behind its glyph. Characters still follow light and dark, so it stays ASCII.
Dithered
Floyd–Steinberg, Atkinson and Bayer dithering spread tone across neighboring cells for smoother gradients.

Cursor effects

Effects follow the pointer anywhere on the page, even when the art sits behind your content.

Repel
Glyphs spring away from the cursor and settle back.
Attract
Glyphs gather toward the cursor.
Scramble
Glyphs flicker into random characters as you pass.
Spotlight
Everything dims except the area around the cursor.
Magnify
A lens enlarges whatever is under the cursor.
Ripple
Rings spread out as the cursor moves.
Ink trail
The cursor leaves a fading trail of heavier glyphs.
Erase
The cursor wipes glyphs away and they decode back.
Invert
Light and dark swap inside a circle.
Swirl
The art twists around the cursor.
Glitch
Rows slip sideways when the cursor moves quickly.
Bulge
Glyphs grow and push outward.
Rain
Characters fall from the cursor.

Add an ambient loop (shimmer, breathe, wave, scan line or drift) and an entrance (decode, fade, typewriter, scan or from the center) that plays once when the art scrolls into view.

60 color looks

Film emulation and creative grades. Hover a look in the editor to preview it.

Haze & fade

Lifted blacks and soft contrast.

Haze, Mist, Fog, Sun Bleached, Faded Print, Daydream, Ultra Matte, Overcast, Lavender Haze

Green & teal

Moss, verdigris and cool greens.

Moss, Verdigris, Seafoam, Greenback, Jade, Chlorophyll, PX-680 Cold, Super Greens, Cyanolyte

Film

Kodak, Fujifilm and Agfa stocks.

Portra 400, Portra 160, Ektar 100, Kodachrome 64, Velvia 50, Provia 100F, Astia 100F, Superia 400, Pro 400H, Agfa Vista 200

Cinematic

Teal and orange, bleach bypass, day for night.

Teal & Orange, Bleach Bypass, Teal Orange Matte, Day for Night, Alt Process

Warm

Golden hour and amber tones.

Golden Hour, Filmic Gold, Warm Matte, Red Wine, Brownstone

Cool

Blue hour and steel.

Blue Hour, Filmic Blue, Arctic, Steel, FP-100C Cool

Vintage

Polaroid and cross-processed film.

Polaroid 669, Polaroid 690 Warm, Polaroid PX-70, Polaroid PX-680, Time Zero Expired, Polachrome, Cross Process

Mono

Black-and-white stocks and sepia.

Tri-X 400, HP5 Plus 400, Acros 100, Matte B&W, Infrared, Sepia

Creative

Cyanotype, redscale and other strong looks.

Cyanotype, Redscale, Blue X-Pro, Synthwave

Bring your own grade by importing a .cube LUT. Sources and licenses are on the credits page.

Use it in Next.js

The export is one .tsx file: the renderer and the art, with no dependencies besides React.

As a section background
import AsciiHero from "@/components/AsciiHero";

export default function Home() {
  return (
    <section className="relative overflow-hidden min-h-[80vh]">
      <AsciiHero variant="section" effect="ripple" />
      <div className="relative">…</div>
    </section>
  );
}
As a footer or a page background
<footer className="relative overflow-hidden h-80">
  <AsciiHero variant="footer" mask="top" opacity={0.6} />
</footer>

<AsciiHero variant="background" />   {/* fixed behind the whole page */}
  • variant places the art: background, section, footer or inline.
  • fit and alignX/alignY work like object-fit and object-position.
  • effect, ambient and intro change the motion without re-exporting.
  • fontFamily="var(--font-mono)" picks up a next/font variable.
  • label gives the art an accessible name; without it the art is hidden from screen readers as decoration.
  • The canvas pauses off screen and respects reduced motion.

Questions

Is ASCII Studio free?

Yes. There's no account, no watermark and no limit on exports.

Are my photos uploaded anywhere?

No. Conversion, color grading and background removal all run in your browser. The first time you remove a background, the browser downloads the model from Hugging Face; your photo itself never leaves your device.

What does the exported component need?

React 18 or newer. The export is a single .tsx file with the renderer and the art inside it, and no other dependencies. It works in the Next.js App Router and Pages Router, and in other React setups such as Vite, where the "use client" line is simply ignored.

Will an ASCII background slow my page down?

The art is drawn on a canvas sized to its container. It pauses while it's off screen or the tab is hidden, stops animating once the cursor effect settles, and skips loops and entrances for visitors who prefer reduced motion. Most exports are 50 to 150 KB before compression.

Can I keep the colors of the photo?

Yes. Turn on colored glyphs and each cell gets a tile of the photo's graded color behind its glyph. The characters still follow the light and dark of the image, so it stays ASCII.

Can I use my own LUT?

Yes. Import any .cube file, 3D or 1D, and use it like the built-in looks, including the strength slider.

Does it work on phones?

The editor works on phones and tablets, and cursor effects respond to touch drags. Exported components resize to any container.

Can I use the art commercially?

Art made from your own photos is yours to use. The built-in looks come from openly licensed sources (CC BY-SA 4.0, MIT and CC0); the credits page lists each one.