Type Guide

Learn how to use Type to power up your text animations in After Effects.

Video tutorial

How to Install Type

Step 1 - Install script

Move the Type.jsxbin file to the After Effects Scripts UI Panels folder.

After Effects (2023) > Scripts > Script UI Panels

Step 2 - Allow scripts

In After Effects, make sure “Allow Scripts to Write Files and Access Network” is on.

Preferences > Scripting & Expressions > “Allow Scripts to Write Files and Access Network”

Step 3 - Set expression engine to JavaScript

In After Effects, make sure your expression engine is set to JavaScript.

File > Project Settings > Expression Engine > Expressions > JavaScript

Step 4 - Open Type

In After Effects, open the Type script.

Window > Type.jsxbin

Step 5 - Activate license

Upon purchase of Type, you will receive a license code.

You can retrieve your license code from your Gumroad account.

Step 6 - Dock Type panel

Now you can dock Type anywhere in your workspace. Type features a responsive layout, to help it fit any workspace.

You can also hide any buttons via the Settings controls within Type.

Typing animation

Typewriter+

The Typewriter+ function animates text in by character, word, or line.

You can adjust the animation by adding/changing keyframes on the Animation property of the Typewriter+ effect.

You can adjust the default timing of the animation via Settings > Animations.

Hold shift + click to add the Typewriter+ effect without any keyframes.

Blinky

The Blinky function adds a blinking cursor to the end of your text. It will also add the Typewriter+ effect (if the layer doesn’t already have it applied).

Hold shift + click to animate the Typewriter+ effect automatically.

Hold alt/option + click to change the default Blinky color.

This effect works by creating a shape layer called blinky_(text layer name).

Blinky effects

You can customize the appearance of the cursor under the Blinky effect on the shape layer.

  • Color* - Changes the color of cursor
  • Rounded Cap* - Rounds the edges of the cursor
  • Thickness* - Width of the cursor in pixels
  • Height* - Height of the cursor as a percentage of font size
  • Offset - Offsets the position of the cursor
  • Text Alignment - This property gets set automatically when adding a blinking cursor. Be sure to update this setting if you change the original alignment of your text layer.
  • Detect Spaces* - Toggle on to have the cursor respect spaces in your text.
  • RTL* - Toggle on when using right to left text (i.e. Hebrew, Arabic).

*You can change the default values of these properties via Settings > Blinky.

Multi-line text

When adding a blinking cursor to a paragraph text or point text with multiple lines, a separate guide layer will be created. This is necessary for Blinky to calculate its proper position.

If no line breaks exist when adding a blinking cursor, no guide layer will be created.

Text Up

The Text Up function makes your text flow up (instead of down) as line breaks are added to the type. The position of your text at the current time indicator will be retained (i.e. there will be no visible changes immediately).

This effect is compatible with the Typewriter+ / Blinky functions.

Hold shift + click to make text flow from the center.

Text markup

Highlight

The Highlight function adds a shape layer beneath your text layer to emulate a highlight effect.

You can apply the effect to a whole text layer or a specific range by highlighting the specific text you want to target.

Hold shift + click to animate the highlight automatically. You can adjust the default timing of the animation via Settings > Animations.

Hold alt/option + click to change the default Highlight color.

Once the effect is applied you can freely manipulate the shape layer. You can change the following default behaviors via Settings > Strokes:

  • Color - Default color of the highlight stroke
  • Thickness - The stroke weight as a percentage of the height of the cap height of the text.
  • Extension - Amount of pixels that the stroke will be extended (or retracted) from both sides.

Underline

The Underline function adds a shape layer beneath your text layer to emulate an underline effect.

You can apply the effect to a whole text layer or a specific range by highlighting the specific text you want to target.

Hold shift + click to animate the underline automatically. You can adjust the default timing of the animation via Settings > Animations.

Hold alt/option + click to change the default Underline color.

Once the effect is applied you can freely manipulate the shape layer. You can change the following default behaviors via Settings > Strokes:

  • Color - Default color of the highlight stroke
  • Match text color - When toggled on, it will override the default color and use the text color instead.
  • Thickness - The stroke weight in pixels.
  • Extension - Amount of pixels that the stroke will be extended (or retracted) from both sides.
  • Underline padding - Amount of pixels between the bottom of the text and the underline stroke.

Strikethrough

The Strikethrough function adds a shape layer above your text layer to emulate a strikethrough effect.

You can apply the effect to a whole text layer or a specific range by highlighting the specific text you want to target.

Hold shift + click to animate the strikethrough automatically. You can adjust the default timing of the animation via Settings > Animations.

Hold alt/option + click to change the default Strikethrough color.

Once the effect is applied you can freely manipulate the shape layer. You can change the following default behaviors via Settings > Strokes:

  • Color - Default color of the strikethrough stroke
  • Match text color - When toggled on, it will override the default color and use the text color instead.
  • Thickness - The stroke weight in pixels.
  • Extension - Amount of pixels that the stroke will be extended (or retracted) from both sides.

Text box

The Rectangle function adds a rectangle beneath your text layer that conforms to the size of the text itself.

Once the rectangle has been added you change the following under the Get Rect effect:

  • Auto X - When toggled on, the width of the rectangle will conform to the width of the text. When toggled off, the width of the rectangle will be equal to the X Margin.
  • Auto Y - When toggled on, the height of the rectangle will conform to the height of the text. When toggled off, the height of the rectangle will be equal to the Y Margin.
  • X Margin* - Amount in pixels added/subtracted from the width of the rectangle.
  • Y Margin* - Amount in pixels added/subtracted from the height of the rectangle.
  • Offset - Shifts the position of the rectangle.
  • Ignore Ascenders & Descenders* - When toggled on, rectangle height is calculated based on font size. When toggled off, rectangle height is calculated based on the true height of visible characters.

*You can change the default values of these properties via Settings > Rectangle.

You can also change the following defaults via Settings > Rectangle:

  • Fill - When toggled on, new rectangles will have a fill.
  • Fill Color - Sets the color of the fill.
  • Stroke - When toggled on, new rectangles will have a stroke.
  • Stroke Color - Sets the color of the stroke.
  • Stroke Width - Sets the weight of the stroke.

Hold shift + click to create a static rectangle based on value at current time. This rectangle will not have any expressions, but will inherit any of the default Rectangle settings.

Hold alt/option + click to change the default Rectangle fill color.

Numbers & counter

Number Rig

The Number Rig function converts your text layer to a number. If no layer is selected, a new text/number layer will be created.

Once a number rig has been added, you can control the number via the Num effect on the text layer.

  • Number - Controls the actual number. Keyframe this value to animate between numbers while retaining all formatting.
  • Thousand Separator - Adds commas/periods/underscores/spaces between thousand, million, billion, etc (i.e. "1,000")
  • Decimal Separator - Changes the decimal symbol between period, comma, underscore, space
  • Decimal Places - Sets how many decimal places will be visible (i.e. "1.00")
  • Symbol - Sets a symbol before or after the number. Custom will use whatever the actual text from your text layer. (i.e. "$100")
  • Financial - Wraps negative numbers in parenthesis and removes dash (i.e. "(100)")
  • Fixed Digits - Sets the minimum number of digits that the number will take up, adding 0s beforehand when necessary (i.e. "001")
  • Abbreviations - When toggled on, a big number abbreviator (K, M, B, T) will be added when the number reaches 10,000 or higher.
  • Abbreviation Decimal Places - Sets the amount of visible decimals places shown when abbreviations are used.
  • Power of 10 - Multiplies the number by 10 ^ value this is set to. You can animate this value in order to scale numbers exponentially.

Counter Rig

The Counter Rig function converts your text layer to a time counter. If no layer is selected, a new text/counter layer will be created.

Once a counter rig has been added, the time will animate automatically based on the time of the layer itself. You can customize the counter via the Count effect on the text layer.

  • Speed - Set the speed of your time counter. Use a negative percentage (i.e. -100%) to create a countdown.
  • Start - Adjust the time at the start of your time counter.
  • Display - Choose what specific time increments will be displayed. Auto-collapse will hide time increments that are less than 0.

Monospacing

The Monospacing function converts your text to monospace (regardless of font).

Note: When using monospacing, make sure your text is set to Metrics (instead of Optical).

To change the spacing, navigate to the Effect Controls panel and change the Spacing slider value.

Variable Spacing

Hold shift + click to add a variable spacer. This will allow you to control the spacing within a given range of your text.

  • Start - This set the beginning character index for the range you are targeting,
  • End - This sets the last character index for the range you are targeting.
  • Spacing - This sets the spacing for the specified range.
  • Direction - This sets how the range is counted. Either Left to Right or Right to Left.

You can remove the last variable spacer by holding shift + clicking the Remove Effects button.

Text Motion Blur

The Text Motion Blur function lets you simulate a motion blur when a character of text changes. This feature works with Typewriter+, Num, Count, or any animation to the Source Text.

Once Text Motion Blur has been added to a layer, you can customize the effect under the Text Motion Blur effect controls.

  • Max Blur - This is the maximum horizontal and vertical blur each character will have.
  • Falloff - This is the amount of frames a character will have a blur.
  • Balance - When set to 100%, the effect will only check past frames for change. When set to 0%, the effect will only check future frames for change. You can set this to any amount between 0 and 100 in order to factor in bother past and future frames.
  • Right Aligned - When toggled on, this will reverse the index of each character analyzed. For example, if “9,999” changes to “10,000”, the thousand separator would remain unblurred, since the 4th character from the right didn’t change.

You can change the default settings for these controls under Settings > Text Motion Blur.

Split Text

The Split Text function separates your text layer by word, line, or character.

Hold shift + click to separate by line. Hold shift + CMD/CTRL + click to separate by character.

Split Text settings

You can change the Split Text behavior via Settings > Split Text.

Delete original - When toggled on, the original text layer will be deleted.

Parenting preference:

  • Parent to original - Parents all new layers to the original
  • Inherit original parent - Parents all new layers to the parent of original if one exists, otherwise they will have no parent
  • Parent to first word/line/character - Parents all new layers, except the first, to the first.
  • Daisy chain parenting - Parents the 2nd layer to the 1st layer, 3rd layer to 2nd layer, and so forth.

Remove Effects

The Remove Effects function removes any Type generated effects, expression, or layers from the target layer, without deleting the target layer itself.

This is useful for reverting back to previous states without causing expression errors.

Hold shift + click to remove the selected Type effect(s). This will remove the effect along with any dependent expressions, animators, or layers.

Settings

The Settings panel controls much of the default behavior.

Under the UI tab you can toggle on/off which buttons are shown. After making changes to the UI, close and reopen Type to see the changes take place.

KBar Integration

Type is designed to work with KBar.

Included with Type is a Type.kbar file. You can load this from your KBar panel to bring all of the buttons of Type to KBar automatically.

To manually add a Type button to KBar, point the script to the Type.jsxbin file, then specify the proper argument. Here are the acceptable arguments for Type:

  • typewriter
  • blinky
  • textup
  • highlight
  • underline
  • strikethrough
  • rect
  • num
  • count
  • monospace
  • textmotionblur
  • splittext
  • removefx
  • settings

Note: Type will automatically verify your license when running a Type function through KBar. The initial action each session may take longer than normal.

Changelog

1.5.0

September 1, 2023

Added

  • New feature: Convert text to shapes
  • Auto countdowns – hold shift when adding counter
  • Cleaner formatting for most expressions

1.4.0

March 7, 2023

Added

1.3.0

January 27, 2023

Added

  • Redesigned settings panel with more customization options
  • Quick color pickers (hold alt/option + click) to Blinky, Highlight, Underline, Strikethrough, Rectangle

Fixed

  • Various bugs

1.2.0

January 3, 2023

Critical update

  • Update to accommodate Gumroad's changes to their licensing system

1.1.1

December 19, 2022

Fixed

  • Bug that prevented some Windows 10 users from getting past the license screen

1.1.0

December 6, 2022

Added

  • KBar integration + icons
  • Remove selected effects (shift + click)
  • Support for ExtendScript Legacy

Fixed

  • Various bugs

1.0.0

November 23, 2022

Initial release