← All open source projects

mo.js

mojs/mojs

mo.js is a JavaScript library for web animation, motion graphics, SVG shapes, and timelines.

Forks 886
Author mojs
Language CoffeeScript
License MIT
Synced 2026-06-27

In Short

mo.js helps create expressive web animation from ready primitives: shapes, bursts, swirls, stagger effects, and timelines are assembled declaratively.

What It Is

mo.js is a motion-graphics toolkit for the web. The library focuses on animations that enrich interfaces visually: bursts, shapes, transitions, microinteractions, and sequences.

What Is Inside

It includes components for HTML elements, SVG shapes, swirl, burst, and stagger animations. The project is published on npm and can be used through a bundler or CDN.

How People Use It

mo.js is often used for landing pages, interactive promos, product accents, and small effects where a normal CSS transition is not enough.

Example

Burst Animation

The example shows a small line burst that can be tied to a click or completed action.

Language: JavaScript
const burst = new mojs.Burst({
  radius: { 0: 80 },
  count: 8,
  children: { shape: "line", stroke: "#111" }
});

burst.play();

Strengths

The library’s strength is its expressive declarative API. Animation can be described as an object with parameters and timing, then combined into a more complex scene.

Limits

The limitation is taste and restraint. Bright motion graphics become noise if attached to every action. mo.js works best where motion supports meaning rather than competing with it.

Project Context

mo.js is maintained in the mojs/mojs repository; its public history starts on 2014-06-26. The primary metadata language is CoffeeScript, and the license is MIT. The project also has a dedicated site: https://mojs.github.io.

This context keeps the page grounded in a specific repository: the project has an owner, technical base, license, change history, and real constraints of its ecosystem.

mo.js should be evaluated through a concrete scenario: who will maintain it, where it fits in the existing stack, which updates must be tracked, and what happens if it fails. That view is more useful than installing a project just because it is popular, because open source helps only when its role in the system is clear to the team.