Select your text layer, open Window → Effects & Presets, type typewriter in the search box, and double-click Typewriter. For a cursor, pick Blinking Cursor Typewriter Console from the same search (After Effects 23.0 or later). Then press U and drag the second keyframe to set the speed. That covers most jobs in under a minute.
The rest of this guide is for the cases the presets don’t handle: pausing mid-sentence, typing word by word, a cursor that keeps blinking after the last letter, and getting the result out as a GIF. I should say that After Effects isn’t installed on the computer I’m writing on. The steps come from Adobe’s help pages and tutorials, checked against each other, and I say so where I’m relying on a single source.
Four ways to do it
| Method | Cursor | Pauses | Centred text | Best for |
|---|---|---|---|---|
| Typewriter preset | No | Add keyframes | Stays put | A quick title |
| Blinking Cursor Typewriter Console | Yes, several shapes | Copy a keyframe | Check it on your line | Terminal and chat looks |
| Your own text animator | No | Easy | Stays put | Word by word, mixed fonts |
| Source Text expression | Yes, any character | Needs more code | Shifts as it types | Many layers at one fixed speed |
Apply the Typewriter preset
- Create the text with the Type tool (Ctrl+T, or Command+T on a Mac) and style it.
- Move the current time indicator to the frame where the typing should begin. A preset’s first keyframe always lands at the indicator.
- Select the text layer in the timeline.
- Open Window → Effects & Presets and search for typewriter. The preset lives in Animation Presets → Text → Animate In.
- Double-click Typewriter, or drag it onto the layer.
- Press Space to preview.
The preset types the full layer over a fixed stretch of time (2.5 seconds, by AE Screens’ measurement), however long the text is. So a five-word title looks unhurried and a paragraph looks like a machine gun. Fix that next.
Change the speed
- Select the layer and press U. After Effects shows every keyframed property, which here is one property with two keyframes.
- Drag the second keyframe to the right to slow the typing, or left to speed it up.
- To start later without changing speed, select both keyframes and drag them together.
For a natural pace, count your characters and allow a second for every 12 or so. Sixty characters wants the keyframes about five seconds apart. Leave the keyframes linear. Easy Ease makes the typing crawl, sprint, then crawl again, which looks like a bad connection more than a typist.
Add a blinking cursor with the newer preset
Blinking Cursor Typewriter Console was added in After Effects 23.0 (late 2022) and shows up in the same search. Apply it the same way. Its settings are in the Effect Controls panel, and in the tutorials I checked they are:
- Animation: a slider keyframed from 0 to 100. These are the two keyframes you move for speed.
- Cursor: a checkbox that shows or hides it.
- Cursor Shape: a menu with a bar, an underscore, a block and others.
- Cursor Blink Speed.
The cursor is part of the text layer, so it takes its colour and size from the Character panel. That also means it can’t have a different font from the text.
To pause mid-line, park the indicator where the pause should begin, add a keyframe on the Animation slider, copy it, move forward and paste. Between two identical keyframes nothing types, and the cursor keeps blinking. Dragging the first keyframe later gives you a cursor blinking on an empty line before the first letter, which is the detail that makes it read as a person about to type.
One warning from people who use it: out of the box it’s fast, with a whole line done in under a second. Expect to pull the second keyframe out every time.
Build it yourself with a text animator
The Typewriter preset is nothing more than a text animator. Building it by hand takes a minute and gives you the controls the preset hides.
- Twirl open the text layer. Next to Text, click Animate and choose Opacity. (The same list is under Animation → Animate Text.)
- In Animator 1, set Opacity to 0%. All the text vanishes, because the selector covers everything.
- Open Range Selector 1 → Advanced and set Smoothness to 0%. At the default of 100% each letter fades up; at 0% it snaps on.
- At the first frame, click the stopwatch on Start with the value at 0%.
- Move to where the typing should finish and set Start to 100%.
As Start travels from 0 to 100, the invisible range shrinks off the right end of the line and the letters behind it show.
Now the useful extras, all under Advanced. Based On switches the unit from Characters to Words or Lines, which gives you word-by-word captions with the same two keyframes. Characters Excluding Spaces stops the tiny stall at each space; Adobe’s documentation notes that with plain Characters, spaces are counted and the animation effectively pauses between words. Setting Units to Index lets you keyframe Start in whole characters instead of percentages, so “type the first 14 characters, wait, type the rest” becomes three keyframes with obvious numbers.
The letters are in their final positions from the first frame and only their opacity changes. A centred headline therefore stays where it is while it fills in from the left. That’s usually what you want on a title card, and it’s the main reason I’d pick the animator over an expression.
Use an expression for a cursor that stays
An expression on Source Text rewrites the layer’s text every frame. Twirl open Text, hold Alt (Windows) or Option (Mac), click the stopwatch next to Source Text, and paste:
var cps = 15; // characters per second
var txt = "" + value; // the text you typed in the layer
var n = Math.max(Math.floor((time - inPoint) * cps), 0);
var typing = n < txt.length;
var blinkOn = Math.floor(time * 2) % 2 == 0; // one blink per second
txt.substr(0, n) + (typing || blinkOn ? "|" : " ");Typing starts at the layer’s in point, so you move the start by sliding the layer in the timeline. cps is the speed. The cursor is solid while letters are arriving and blinks once a second afterwards; swap "|" for "_" or "█" for a different look. No keyframes are involved, so you can paste the same expression onto twenty layers and they’ll all type at the same rate whatever their length.
I checked the arithmetic by running it outside After Effects: at 15 characters a second, the frame at 0.2 seconds shows three letters and the cursor, and one second in, an eleven-character line is complete. I haven’t run it in After Effects itself, so paste it on a test layer first.
Two limits. The layer really does contain fewer characters early on, so centred or right-aligned text slides sideways as it grows; set the paragraph to left-aligned. And the expression returns plain text, so it suits a layer with one font, size and colour throughout. For a line that mixes styles, go back to the animator.
What goes wrong
The text is already typed when the clip starts. The preset was applied with the indicator in the wrong place. Press U and drag both keyframes to where the typing should begin.
Letters fade in softly. Smoothness is still 100% on a hand-built animator. Set it to 0%.
The line hesitates at every space. Change Based On to Characters Excluding Spaces.
Centred text jitters. You’re using the Source Text expression. Left-align it, or switch to the animator.
Export it as a GIF
After Effects doesn’t write GIFs. Adobe’s own documentation says to render a movie and convert it in Photoshop, but Media Encoder is shorter:
- Choose Composition → Add to Adobe Media Encoder Queue (Ctrl+Alt+M, or Command+Option+M on a Mac).
- In Media Encoder’s queue, click the format and choose Animated GIF.
- Click the output name to choose where it’s saved, then start the queue.
Trim the work area to the typing first, and keep the composition small. A 1920×1080 GIF of a few seconds of text can run to several megabytes, and nobody needs a title at that size in an email or on a web page.
If the GIF is the whole point and there’s no footage behind the text, you can skip After Effects. The typing text GIF maker on this site does typing, a cursor, backspacing between phrases and a transparent background in the browser, and exports at the size of the text. After Effects is the right tool once the typing has to sit in a shot, follow a camera move, or match the rest of a motion design.
Taking it into Premiere
If the edit lives in Premiere, you may not need After Effects for this any more. Since version 25.5, Premiere has its own Typewriter transition with a caret, covered in the Premiere Pro typewriter guide. It’s cruder than a text animator: it finds letters by their outlines, so drop shadows and script fonts trip it up. For anything fussy I’d still build it here and send it over as a Motion Graphics template.