100% in-browser · your video never leaves your device

Video to ASCII Art Animation

Turn any short video into a living ASCII or braille art animation. Preview it, scrub it, copy frames as text, or export the whole thing as a WebM video.

░▒▓ frames in, characters out ▓▒░

Drop a video here

or click to browse files

MP4, WebM or MOV · max 100 MB · max 60 seconds (short clips of ~10–30s work best)

How Video to ASCII Animation Works

This tool is a mash-up of two ideas: classic ASCII art and frame-by-frame video sampling. When you drop in a clip, your browser decodes it with a hidden video element, seeks through it at your chosen frame rate (5–15 fps), and draws each frame onto a tiny offscreen canvas — one canvas pixel per output character. Every pixel is reduced to a single brightness value using the standard luminance weighting (red counts ~30%, green ~59%, blue ~11%, matching how the human eye perceives brightness). That brightness then picks a character from a density ramp —  .:-=+*#%@ — where sparse characters like . read as dark and dense ones like @ read as bright on a black background. String the frames together with a monospace font and a timer, and you have an animation made entirely of text.

Everything happens 100% in your browser. The video file is never uploaded — there is no server-side processing at all for this tool. Decoding, sampling, conversion, playback, and even the video export are done locally with the canvas and MediaRecorder APIs, which is also why it keeps working with your network disconnected.

ASCII vs Braille Mode

ASCII mode maps one character per sample and gives you 10 brightness levels, so it captures shading and gradients — faces, smoke, water, and lighting effects look surprisingly good. Braille mode (borrowed from our Braille ASCII Art generator) packs a 2×4 grid of dots into each Unicode braille character (U+2800–U+28FF), giving roughly 8× the spatial resolution at the same text width — but each dot is binary on/off, decided by the threshold slider. The rule of thumb: braille for crisp edges, silhouettes, and logos; ASCII for tonal, photographic footage. If your subject is dark on a light background, flip the invert toggle so the brightness mapping reads correctly on the dark preview.

Tips for Good Results

  • High contrast wins. A clearly lit subject on a plain background converts far better than a busy scene full of mid-tones.
  • Keep it short and simple. 5–30 seconds, one subject, slow movement. Text art has low resolution, so fast motion turns to noise.
  • Start at the defaults (80 characters wide, 10 fps, ASCII) and only widen if your clip has fine detail worth keeping.
  • Tune the threshold in braille mode while scrubbing to a representative frame — a small change often makes the subject pop out of the background.
  • Portrait clips work — the aspect ratio is preserved — but landscape fits chat windows and terminals better.

Where to Share Terminal-Style Animations

The exported WebM drops straight into Discord, Slack, Mastodon, or a tweet, and makes a great retro intro for YouTube videos or livestream scenes. The raw text frames are fun in their own right: paste a single frame into a Discord code block or a README, use one as a commit-art easter egg, or pipe the .txt file through a small script (sleep + clear between frames) to replay the animation in an actual terminal. Anywhere a monospace font lives, your animation can too.

An Honest Note on Video Export

The “Export as video” button renders every text frame onto a canvas and records it with the browser’s built-in MediaRecorder, which outputs WebM (VP9/VP8). Browsers can’t encode MP4 client-side, so we don’t pretend otherwise — if a platform insists on MP4, run the WebM through a converter afterwards. Recording works best in Chrome and Edge; Firefox works too, while Safari’s MediaRecorder support is more limited, so on Safari you may only get the text exports. The button feature-detects and tells you if your browser can’t record.

Frequently Asked Questions

Is my video uploaded to a server?

No. This tool is genuinely 100% client-side: the video is decoded, sampled, converted, previewed, and even recorded to WebM entirely inside your browser using the video, canvas, and MediaRecorder APIs. Nothing is sent to Fix42 or any other server, and the tool keeps working if you go offline after the page loads.

Why does the video export produce WebM instead of MP4?

Browsers can only record canvas streams in formats their built-in MediaRecorder supports, which in practice means WebM (VP8/VP9). There is no client-side MP4 encoder available, and we would rather be honest about that than upload your video to convert it. If you need MP4, export the WebM here and run it through a video converter afterwards.

Why does a copied frame look scrambled when I paste it?

Text art only lines up in a monospace font, where every character (including braille characters) has the same width. Apps with proportional fonts shift the columns and destroy the image. Paste into a code block, a terminal, an editor, or any monospace field, and use a dark background so the bright-character mapping reads correctly.

Should I use ASCII or braille mode?

ASCII mode gives 10 brightness levels per character, so it handles gradients and photographic footage well. Braille mode packs a 2x4 dot grid into each character for about 8 times the detail at the same width, but every dot is a hard on/off decision controlled by the threshold slider, so it favours high-contrast subjects like silhouettes, logos, and line art. When in doubt, try both — re-converting takes seconds.

What are the limits, and what kind of clip works best?

Files up to 100 MB and 60 seconds are accepted, with conversion capped at 450 frames (at 10 fps that is 45 seconds). Short 5-30 second clips with a single high-contrast subject and slow movement give the best results. Longer or busier footage still converts, but low-resolution text art turns fast motion and fine detail into noise.

Related Tools

Like this? Turn still images into dot art with the Braille ASCII Art Generator, make text banners with the ASCII Text Art Generator, or go the other direction and render CSS animations to video with HTML to Video.

Discussion

Start the conversation

Leave a comment

For notifications only, never displayed

Markdown supported0/2000

Be respectful and constructive

Loading comments...