Comparison
A Motion Primitives alternative for React motion components
Motion Primitives is an open-source UI kit of animated components built with Framer Motion and Tailwind CSS, with a focus on clean, reusable building blocks. beUI is built on the same foundation and shares that primitive-first approach, while covering more application controls, charts and AI agent interfaces. This page compares them side by side.
beUI vs Motion Primitives
| Feature | beUI | Motion Primitives |
|---|---|---|
| License | MIT, free and open source | MIT, open source |
| Price | Free | Free; Motion-Primitives Pro sells premium components, sections and templates (as of October 2026) |
| Install | shadcn CLI (npx shadcn@latest add @beui/<slug>) or copy the source from the page | Its own CLI (npx motion-primitives@latest add), shadcn registry as @motion-primitives, or manual |
| Animation library | Framer Motion (the motion package), shared tokens in lib/ease.ts | Framer Motion (Motion) |
| Styling | Tailwind CSS 4, TypeScript, React 19 | Tailwind CSS |
| Focus | App primitives, charts, AI agent UI and composed blocks | Motion building blocks: text effects, number effects, dialogs, docks, toolbars |
| React Native | Yes, beUI Native ports with Reanimated and Gesture Handler (npx beui-native add <slug>) | Not listed on its site as of October 2026 |
| AI agent components | Yes, a dedicated AI Agents category (messages, prompt input, tool approval, streaming, citations) | Not a category in its docs as of October 2026 |
| Charts | Yes, a Charts category (treemap, candlestick, donut, funnel, heat calendar and more) | Not a category in its docs as of October 2026 |
| Source ownership | Source copied into your repo; you own and edit it | Source copied into your project |
What is Motion Primitives good at?
Motion Primitives describes itself as a UI kit to make beautiful, animated interfaces faster: easy copy-paste, customizable and open source. Its docs group components into core components (accordion, animated background, carousel, dialog, disclosure, infinite slider), text effects (text effect, loop, morph, roll, scramble, shimmer), number effects, interactive elements such as dock, tilt and spotlight, toolbars, and advanced effects like morphing dialog, morphing popover and progressive blur.
Each component has examples and documentation, and installs through its own CLI, the shadcn registry, or by hand. A Pro offering adds premium sections and templates.
Where does beUI differ from Motion Primitives?
The philosophy is close: small, composable motion pieces built on Framer Motion and Tailwind CSS that you copy and own. beUI pushes that approach into a larger surface of product UI. Its 107 web components include form and selection controls (select, combobox, multi select, checkbox, radio, sliders, wheel picker, OTP input), overlays (tooltip, popover, context menu, drawer, bottom sheet), Charts and an AI Agents category.
Larger beUI components support controlled and uncontrolled state, overlays manage focus and keyboard input, and transform-based motion is gated behind useReducedMotion. Shared tokens in lib/ease.ts keep springs and easing consistent from one component to the next.
How do I install a beUI component?
beUI uses the shadcn CLI directly and is listed in its official registry directory as @beui. This example adds the text shimmer, a gradient sweep for loading or emphasis. You can add several components in one go.
# once per project, if components.json does not exist yet
npx shadcn@latest init
npx shadcn@latest add @beui/text-shimmer
npx shadcn@latest add @beui/dockCan I use Motion Primitives and beUI together?
Yes. Both depend on Framer Motion and Tailwind CSS and both write source into your project, so there is no runtime conflict and only one copy of Framer Motion is needed. You might keep a Motion Primitives morphing dialog or text effect you already like and add beUI for charts, agent chat or menus.
To migrate a single piece, install the beUI equivalent, update the import and props at each call site, then delete the old file once nothing imports it.
When is Motion Primitives the better pick?
Motion Primitives is a strong pick when you want a focused, compact set of motion building blocks, such as its text effects, morphing dialog or progressive blur, and prefer its CLI and documentation style. Pick beUI when you need a broader catalog of product controls, data visualization, AI agent interfaces or React Native versions.
Components in this guide
Text Animation
Animated text primitives for spring reveals, chromatic sweeps, shimmer loading states, letter-cascade swaps and character scrambles.
Dock
macOS-style dock with grouped actions and a gliding active pill.
Tilt Card
3D perspective tilt on hover with cursor-tracked glare.
Morphing Modal
Family-app-style modal. A single panel that morphs its height as you navigate between inner views, with blur cross-fade on content.
Popover
Gooey popover whose panel oozes out of the trigger through an SVG goo filter with a liquid neck that stretches and pinches, then crisp content fades in on top. The Morph variant reveals its full-size panel from the corner nearest the trigger on one synchronized spring clip. Click or hover trigger, controlled or uncontrolled.
Number Animation
Animated number primitives for count-up values, rolling tickers, and fixed-slot digit swaps.
FAQ
- Is Motion Primitives open source?
- Yes. Motion Primitives is open source under the MIT license, with a separate paid Pro offering. beUI is also MIT licensed and free.
- Do Motion Primitives and beUI both use Framer Motion?
- Yes. Both are built with Framer Motion (the motion package) and Tailwind CSS, so they share dependencies when used together.
- How do I install beUI components?
- Run npx shadcn@latest add @beui/ followed by a slug, such as @beui/text-shimmer, or copy the source from its beUI component page.
- Does beUI have text effects like Motion Primitives?
- Yes. beUI's text animations include spring word and character reveals, a chromatic sweep, shimmer, a letter cascade and a character scramble.
- Does beUI support reduced motion?
- Yes. beUI gates transform-based movement behind useReducedMotion and keeps opacity and color transitions so feedback still reads.
Updated