Animating Text with Character Offset and Randomized Line Effects in After Effects

Animate text line by line using a character offset animator with randomized order, looping, and horizontal blur in a pre-composed layer.

Develop text animations in After Effects using character offset and line-based range selectors for precise control. This article walks through advanced animator settings, looping techniques, and randomized animation to enhance visual impact.

Key Insights

  • Text animations are built using character offset animators in After Effects, allowing each number to shift by a defined value—such as increasing all digits by 2 to visually transform binary sequences.
  • By changing the range selector from percentage to index and setting it to operate by line, users can animate text line-by-line with more predictable control, particularly useful for structured data layouts.
  • Noble Desktop demonstrates how to loop animations and apply horizontal blur effects within the same animator, and shows how to enable randomized order in the advanced settings for a non-linear, dynamic appearance.

This lesson is a preview from our After Effects Certification Course Online (includes software & exam). Enroll in a course for detailed lessons, live instructor support, and project-based training.

In this video, I'll be using a text animator, specifically one that controls character offset, that's the property, to animate the left and right numbers here. So first I'm going to take numbers left and numbers right, select both layers. I'm holding shift to select multiple layers like this.

Then I'll pre-compose. You can right click, pre-compose, or use the keyboard shortcut command shift c or control shift c. Since it's multiple layers being used to make this pre-comp, first there's no choice, you have to move all attributes. And second, it doesn't know what name to give it, so it just calls a pre-comp one.

So you can name your pre-comps whatever you want. I'm calling it side numbers animation. I'm going to say, okay, I've got my side numbers animation.

I'm going to rename the layer as well. So when you see a layer name in brackets, it means the program is using the actual source name. There's nothing wrong with that at all, especially if you have like unique sources each time.

But if you plan to reuse something, it becomes a little tricky like that. And I think I might want to reuse this, you never know. So I'm just going to name the layer, return or enter on your keyboard will make the layer name editable or right click on it and choose your name.

I'm just going to call this side numbers, main side numbers, like so. Then I'm just going to press tab on my keyboard. I'm going to locate the side numbers animation.

It's actually what it's still called here. Click on it and it will jump right into that pre-comp. So I'll start with the numbers left.

I'll just zoom in on this. I'm pressing and holding my Z key on the keyboard. Z on my keyboard gives me the zoom tool temporarily as long as I press and hold it.

And when I click and drag, I can zoom in on this area on the side. If I press and hold H on my keyboard, that'll temporarily toggle to the hand tool, which allows me to click and drag with my cursor and just pan around like that. If you tap the keys, it activates the tool.

It becomes the active tool. But if you press and hold and then let go, it's simply toggling to the tool. So let's animate this.

So I'm going to add an animator for this for character offset. I can add an animator either in the timeline itself or in the properties panel. When I have a text layer highlighted, if I slide down, I'll see add animator.

Now, the interesting thing about this is while I can add an animator from here, I can't actually edit it from here. I can only edit that in the timeline. So either way is fine, you get the same thing.

Character offset is what I'm going for for this. And it will reveal the new animator in the timeline. Animators themselves can be renamed.

If you right click, you can choose rename or the same way you do with a layer, highlight the name and press return on the keyboard. So it doesn't have to stay this way. Now, what I would like to do is add a character offset of two.

What character offset basically does, if I adjust the offset value here, is it takes the values and just shifts them. Okay, so in this case, I've got numbers shifting 11 units up. Okay, so that's shifting four units up.

So every number goes up by four. It also goes negative if you want to go down. Now, it's staying in numbers because the default setting for this preserves if it's numbers or letters and that sort of thing.

That's actually the character range option right above this. Full unit code would actually let it pick any symbol that exists in the font. Preserve case in digits.

As you saw, preserves the casing of the letters and the digits. So it's kind of cool. Now for this, I just want to basically shift it by a couple units.

So I'm just going to basically make it two. So it means zero will become two, one will become three. And then this is a binary thing.

So it's one and zero and that's it. So that's all I'm going to get is this. Okay, now what I also want to do is basically animate this line by line.

So for that, I'm going to go into the advanced category of the animator. For that, I'm going to go into the range selector itself. Okay, advanced in the range selector.

And I'm going for based on lines. Okay, but now I have a problem. I want to animate this line by line.

But because it uses percentages as its unit of measure, I actually don't know where line one stops or line two stops. So what I'm going to do is change its units after I've changed based on from percentage to index. What this will basically do since I'm on lines is count the number of lines.

So now I can jump line by line by line by line by line for my changes. So what I want to do is change the range selector's end. So I'm basically only going to have one single line here.

So start is zero, end is one. Now only the first line is going to be offset. What I'm going to do is animate the range selector's offset.

This will allow me to push the range selector, which is currently on one line, from one line to two to three to four. So I'll be able to push it line by line. Okay, like so.

I will do a three second animation. Okay. So I'm going to go to the beginning of the timeline, offset zero.

I'll do a three second animation. Offset is 12. Why 12? Because it counts from zero.

So line one is actually line zero here and line 13 is actually line 12. So now what happens is we end up with this animation running through it like that. Not bad, it's kind of cool.

Now I also want to add in this animator another property. I'm going to add blur. And I'm going to turn off the constrained portions link.

And I only want to blur this five units. And I want to blur it horizontally, so five units horizontal. Like that.

So now what I end up with is this shifting character animation that's also got the like blur on the lines. That's kind of cool. I like that, it's nice.

Now the problem is that it stops because there's no animation after the last keyframe, of course. I'm just going to close some of these properties like advance. I don't need to see it anymore.

I'm going to option or alt click on the stopwatch for offset. Which is where I have my animation. And I'm just going to delete the default text and add a loop out.

So what it will basically do is it'll cycle through that animation over and over again. That's not bad. But I think it might be nicer if it wasn't quite so straight line, so linear.

So there's an option if I go back to my range selector. I'll close the offset. Back to advanced.

At the very bottom, advanced is randomized order. Turn that on. So now what it does is it randomly picks a value for the offset.

So instead of being first line to last line, it's random values. That's kind of cool in a situation like this. I think it's pretty nice.

Okay. I'll save my work. You should always save your file.

Do not rely on autosave. The program does have an automatic backup feature. But it doesn't save your file.

It makes a copy of your file. So save. Save all the time.

Okay. It has crash protection. Save all the time.

You can never tell when I press is going to crash. You don't want to lose like 10, 15 an hour of work because you didn't save. Command S or control S is your friend in this situation.

It's pretty good. I like that. That's pretty nice.

photo of Jerron Smith

Jerron Smith

Jerron has more than 25 years of experience working with graphics and video and expert-level certifications in Adobe After Effects, Premiere Pro, Photoshop, and Illustrator along with an extensive knowledge of other animation programs like Cinema 4D, Adobe Animate, and 3DS Max. He has authored multiple books and video training series on computer graphics software such as: After Effects, Premiere Pro, Photoshop, Illustrator, and Flash (back when it was a thing). He has taught at the college level for over 20 years at schools such as NYCCT (New York City College of Technology), NYIT (The New York Institute of Technology), and FIT (The Fashion Institute of Technology).

More articles by Jerron Smith

How to Learn After Effects

Build practical, career-focused skills in After Effects through hands-on training designed for beginners and professionals alike. Learn fundamental concepts, tools, and workflows that prepare you for real-world projects or industry certification.