at the speed
of class
600+ production-ready CSS animations across 6 categories. One class name. Zero required JavaScript. The motion library that proves itself on its own page.
Engineered for production
Not a toy. A focused, opinionated motion system built for teams who want character and precision without the overhead.
Every animation, playing live
Hover any card to replay. Click to open the detail view and copy code. These are the real animations, running right here.
Build it. See it. Copy it.
Pick an animation, stack modifiers, and copy production-ready markup.
Everything you need to ship
Installation guides, the full animation reference, scroll engine, interactive engine, TypeScript types, theming, accessibility, and contributing guide — all in one place.
Quick answers
Short, self-contained answers to the questions developers ask most. Every number comes from the build.
What is the best CSS animation library for Angular?
There is no single best option, but a CSS-only library suits Angular because it needs no Angular-specific code. SDS Motion Forge provides 604 animations as plain CSS classes: add node_modules/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css to the styles array in angular.json, then put a class such as sds-velvet-drop on any template element. No module or directive is required.
How do I add scroll animations without JavaScript?
Combine sds-scroll-auto with any sds-scroll-* class, for example class="sds-scroll-auto sds-scroll-rise". It uses native CSS scroll-driven animation (animation-timeline: view()), so no script runs in browsers that support it, such as Chrome 115+. Where it is unsupported, the optional 1.3 KB sds-scroll.min.js triggers the same effects through a data-sds attribute.
Is there an Animate.css alternative?
Yes. SDS Motion Forge is a CSS-only alternative that defines 606 @keyframes across 604 effects in six categories (text, buttons, inputs, cards, loaders, scroll), against 97 @keyframes in Animate.css 4.1.1. The trade-off is size: the full bundle is 38.4 KB gzip versus 5.2 KB, but you can import one 5.8–8.6 KB category instead.
What is the best CSS-only text animation library?
SDS Motion Forge includes 104 text animations that run from a single CSS class, for example <h1 class="sds-velvet-drop">. Five need the text split into per-character spans and a few others need child elements; each effect's page states what it needs. The text bundle can be loaded on its own at 8.4 KB gzip.
Does it respect prefers-reduced-motion?
Yes. Every animating selector is neutralized under prefers-reduced-motion: reduce, and the build fails if one is missed (npm run verify:reduced-motion). Scroll-gated elements stay visible instead of being hidden, so content is never lost for users who opt out of motion.
How big is it, and can I import only part of it?
The full bundle is 38.4 KB gzip. Each category is 5.8–8.6 KB gzip and can be imported alone, with core already included: import "@salkomdesignstudio/sds-motion-forge/categories/text";. For two or more categories, use the full bundle. The two optional scripts are 1.3 KB (scroll) and 7.0 KB (cursor effects).
Does it work with React, Vue, Next.js and Tailwind?
Yes. Import dist/motion.min.css once and use the class names with className or class in React, Next.js, Vue, Angular or a Tailwind project. Typed wrappers for React, Angular, Tailwind and Web Components exist in the repository's packages/ folder but are not yet published to npm.
Is it free to use commercially?
Yes. SDS Motion Forge is open source under the MIT license, which permits commercial use as long as the copyright and license notice stay with copies of the code. Install it with npm i @salkomdesignstudio/sds-motion-forge or load it from the jsDelivr CDN with no build step.
Start animating in seconds
Free and open-source. MIT licensed. No build step required.