Tutorial 66: ASCII Art in Cavalry
It seems that these dats ASCII art is getting a revival. Videos from OpenAI, Anthropic or Coinbase used ASCII to a great creative effect. We can do this really easily in Cavalry, and most importantly – customise it as much as we like it. During my exploration phase, I ended up using:
- Text
- Special characters
- Numbers
- Non-English alphabet characters
- Simple squares with gradient
- Shapes
- Shapes with dithering filter on
As you can see, you can really play and mix the final outputs. I’m not even sure, where you draw the line and say – this isn’t ASCII any more, but a mosaic of sorts 🙂
Analyse Your Assets First
It may sounds a bit silly, but I think it’s a good idea to analyse your assets first. For example, below you can see:
- Source Image
- HSV Adjust – Saturation 0 – this lets me “judge” how the image will “look like” to Image Sampler (values 0-1)
- Brightness & Contrast – adding extra contrast will make it look more punchier – use this in Number Range later on
- Pixelate – how “big” each letter or graphic piece needs to be to visually represent image in a clear way
- Posterize – how many colours do I need to represent the source image in an abstract, ASCII way
By using few Filters, I can quickly see how my source image may look like, when reduced to simple blocks. How many colours do I need? Will it still work if I use only 3 colours? How about increasing the contrast a bit? Does the background blend with foreground or a character? And so on.
This makes me save time, during the Render. And helps me make informed decisions, before I even start any work in creating a final piece.
To increase contrast in your Source Image you can do 2 things. Add Brightness and Contrast filter to your Source Image and Render it out, then Import v2 and use it as new Source Image. Or, simply adjust Graph on your Number Range layer. This adjustment allows you to further redistribute shapes, characters, colours and so on, with a Graph. This turns data from Image Sampler 0-1 from straight Linear, to more “contrast-y” and interesting.

Heavy Renders
Just a heads up – this is a heavy effect to do. Let’s say we have:
- 120 columns
- 75 rows
This gives us 9000 unique shapes. (120 x 75). If you add filters on top, like Glow or Dithering, this will get heavy to render very quickly. I would advise you do render your piece, then bring it back into Cavalry or After Effects or DaVinci and add final polishing on top. Like glows or glitches filters.
If you want to style your piece first, for example use textures on shapes, try exporting all your Source Shapes (squares with textures, as an example) first. Then bring them back into Cavalry and use them as your Input Shapes. This way, you will “bake” one step of calculations already and can focus on animation. Rendering should be a bit faster.
Remove Characters
I haven’t covered this in a tutorial – if you want to remove characters from a background, then why not skip them all together? Below you will see 2 results – all characters used from a String Array. And second example, where I left String Array empty. If you are planning to have no characters in the background, simply leave some Indicies in a String Array empty.
No characters = no need to calculate anything in a Duplicator or Number Range = less shapes to work with = faster renders.
Examples
This project file contains all the assets necessary to make animation in the tutorial in final form. Everything is labeled, linked, with expressions and ready to use, if you wish to make your own version or just play around with it.
If you have any suggestions for tutorials or how I can improve, please do get in touch. I would love to hear from you.

















