Skip to content

What AXO does differently ​

AXO exports through its own fork of Bodymovin, the exporter most Lottie files come from. We kept what Bodymovin gets right and fixed a long list of what it gets wrong, on export, on import, in the animated SVG converter and around them. Every fix was checked on real files.

Export ​

Gradients ​

Gradients export with their real colours. In Bodymovin they could come out black and white, vanish, or take the colours of another gradient when:

  • After Effects runs in another language;
  • the gradient has a short or common name, or a group shares its name with another layer;
  • two comps have the same name, or two gradients have the same path;
  • the project has unsaved changes (AXO offers to save first).

Timing ​

  • The last frame at 23.976 fps is no longer dropped.
  • Keys in time-stretched precomps are no longer cut.
  • A shape that opens or closes mid-animation keeps that frame.
  • With "trim data" on, nested comps, parents and mattes that a visible layer still needs stay in the file.
  • Colour easing plays with the same curve as in After Effects.

Text ​

  • Outlines are read straight from the font files. It is much faster and works with variable fonts and the macOS system fonts.
  • Every weight plays as set: Semibold no longer plays as Regular, and Light is no longer too thin.
  • Several styles of one font family can be embedded side by side.
  • Letter widths, no-break spaces, zero leading and paragraph (box) text match After Effects.
  • Text driven by an expression, or animated with an Expression Selector, plays in every player.
  • What players cannot show (justified text, mixed alignment, per-character animation in dotLottie) is named by the audit.

Expressions ​

You choose per build: bake them into keyframes, keep them, or remove them.

  • Baking covers loops, wiggles, sliders that move only briefly, and precomps that are shared or time-remapped.
  • Kept expressions are rewritten so they run in lottie-web, including the forms Bodymovin turned into NaN.
  • Comps read with comp("Name") are bundled so lottie-web finds them.
  • What cannot be translated is named by the audit.

Slots and Essential Properties ​

  • Properties promoted inside a precomp become slots.
  • A precomp used several times with different values gets a slot per copy, so each one looks right and can be themed.
  • Slotted properties at their default value, and properties driven by expressions, keep their slots.
  • Two precomps with the same name get separate ids.

Images, video and sound ​

  • Images export without the Render Queue, so the export never hangs on "Exporting images".
  • Images and sounds with the same file name no longer overwrite each other.
  • Video, GIF and image sequences export frame by frame and play in every player. MP4, H.264 .mov, GIF and PNG, JPG or WebP sequences are read by the panel. ProRes, HEVC, TIFF and other footage After Effects opens are rendered by After Effects. Variable frame rate clips play the frames After Effects shows. Identical frames are stored once, also across clips, and the build warns you when a clip gets heavy.
  • Sound is copied from the layer's own file instead of rendered, and plays in the preview in both players.
  • Missing footage is reported, and an audio layer with its speaker off stays silent.

Layers and effects ​

  • Shadows and blurs are drawn whole instead of cut at the layer's edge.
  • Checkbox, angle and mask controls keep their type.
  • Layer styles keep stroke position, opacity and blend, glow gradients, global light and pattern overlays.
  • Repeater copies fade as in After Effects.
  • A matte that has its own matte, a layer parented to a camera, a soloed layer with a matte, and a null replaced with a comp all export correctly.
  • Collapse Transformations shows content past the nested comp's edges.
  • Footage at less than 1 fps exports as footage.

Everywhere ​

  • The export works the same in every language of After Effects.
  • Whatever the export changes in your project to read a value is put back, also after an error.
  • A locked layer no longer stops the export.
  • What the export had to leave out is named in its result.

Repairs in the comp ​

The audit knows 97 things that do not survive an export and can repair 23 of them in the comp. Each repair keeps the original layer switched off, so you can always roll it back.

Import ​

AXO's import brings back most of what Bodymovin's importer loses or gets wrong:

  • Gradients, static and animated, alpha included. Bodymovin does not import them at all.
  • Keys at the right time on layers that start late or are stretched. Bodymovin shifts them.
  • The comp runs to the file's last frame.
  • Colour easing as in the file.
  • Layer styles, and Repeater fades as in the file.
  • Slots, as Essential Graphics. A slot shared by several properties stays shared, so themes still work after a round trip.
  • Expressions as written, including those that point at a layer created later. Bodymovin's importer drops those, which can break a character rig.
  • Layer Control effects and shape group names, so Create Nulls From Paths rigs still follow their nulls.
  • All Caps, Small Caps and each text keyframe's own style. Text layers are also created much faster.
  • Unused mattes stay hidden, Set Matte points at the right layer, and a freeze frame holds the right frame.
  • Embedded images are saved next to the project, even when the file does not say their type.
  • A report of what was imported and what was not. A missing effect is named once instead of in a list of errors.

Optimizer ​

The optimizer runs on your machine, with no login and no upload. It keeps slots, markers, themes and state machines, and it can compare the picture before and after each step and switch off any step that changed it. See Optimizer.

Interactivity ​

Other panels play a .lottie's state machine. AXO builds one in After Effects: segments from your markers, 21 machine templates, a graph editor, tokens from your colours, themes, and a test player that plays exactly the file the build wrote. See Interactive Studio.

Formats ​

One build writes any mix of .json, .lottie, .tgs (Telegram), a JS bundle, a demo page, a banner page, Android AVD XML, animated SVG and a GSAP folder. Any file in Files can be exported again to any of these.

  • GIF, WebM, AVIF and WebP are rendered by After Effects itself, so they look exactly like the comp, effects and plug-ins included.
  • The animated SVG converter fixes over twenty mistakes of Bodymovin's: anchors, timing past the comp's end, ellipses, masks, groups, strokes, rounded corners, holes in shapes and text. What SVG cannot do is listed in the export report.
  • GSAP code keeps holes in shapes and lays out text like lottie-web, without needing the font. What it cannot carry is listed with the export.

AXO for After Effects