Active users
Last 30 days
300+ animated, accessible components and effects for React, Vue, Svelte, Angular, Astro or plain HTML.
Native Web Components, zero dependencies, and an
Early access on launch day. No spam, unsubscribe in one click · Privacy.
Pay once, use forever · 14-day refund (conditions)
> Add a stats section with a glowing card and a number that counts up
marvelous-ui search_components "stats card glow count up"
→ border-beam, card, number-ticker
marvelous-ui install_components framework: "react"
✓ 3 components + tokens copied to src/marvelous/ · 0 npm deps added
✓ Stats.tsx created. Dark mode, keyboard and reduced motion handled.
One library. Every stack you'll ever switch to.
Why Marvelous
A built-in MCP server lets any agent search the catalog, read each API and install components with their dependencies. No hallucinated props.
Native Custom Elements + layered CSS. Switch stacks, keep your UI.
OKLCH design tokens. Drag the slider: this whole page re-themes live.
ARIA roles, full keyboard support, visible focus, reduced motion. Not an afterthought.
Every component page has its accessibility notes: what it does for keyboard, screen reader and reduced-motion users.
Readable files land in your repo. No black box, no lock-in.
Live, not screenshots
<mv-text-reveal>
Make it
<mv-sparkles-text>
Aurora gradient
.mv-gradient-text
Answers
<mv-text-highlight> · hover
$
A light follows your cursor across the whole group.
A comet runs along the border.
Rotating conic reflections.
A crackling border, drawn in JS.
Gradient border + halo.
A moving gradient border.
<mv-confetti-button>
data-effect
.mv-badge · data-pulse
<mv-theme-toggle> · circular reveal
<mv-thinking-orb> · AI states
toast() · swipe to dismiss
Labels, hints and error states, all in CSS.
$24 / month
$19 / month, billed yearly
Also in the box: dialog, drawer, popover, menu, combobox, command palette, date picker, calendar, table, OTP, file upload, stepper, toast, tooltip, chart… the boring parts, done right.
+ 280 moreLight ✦
20 new components for the details hand-made versions miss: autofill that keeps working, a “3 minutes ago” that stays current, a count that never bumps on first render.
<mv-password-field>
<mv-relative-time>
<mv-count-bump>
Show and hide, a Caps Lock warning, rules listed before the first keystroke.
Chips you can paste from a sheet, submitted like a real form field.
Reject as easy as accept, and scripts really wait for consent.
Hides on scroll down, never while focus or a menu is inside.
Copies the command, never the prompt, the output or the line numbers.
No drift, no negative numbers, the target in the visitor's own time.
“3 minutes ago” that stays current, on one shared timer.
“▲ +12.4% vs last week”, read aloud as one clear sentence.
Dismissed once, remembered, and it never shifts the layout.
Saving, saved, offline: it never flickers and never says “Saved” too early.
A “Show more” toggle that exists only when the text is really cut.
Mesh, glow, grid and grain backgrounds from one class, zero JavaScript.
A small progress ring beside the system cursor while one region works.
A soft plate that hugs the hovered link, system cursor kept.
A one-line reading guide that follows the pointer or the keyboard.
Appears only when you head back up, and moves focus to the top.
Drag, wheel and edge hints for wide tables and card rails.
Image placeholders that never shift, flash or show a broken icon.
Cart and badge counts that bump on change, never on first render.
The native share sheet, or a menu with zero third-party requests.
Exclusives
150 Exclusives: original components you won't find in any other library. The most useful ones come in 8 kits, grouped by the problem they solve. Many take a mechanic from a film, a game, a TV series or a novel and turn it into a useful interface behavior. Only the mechanic is borrowed, never the artwork, logos, typography or colors.
Long forms that survive crashes, typos and walls of errors.
Friction that matches the real risk of a delete, a revoke or a secret.
Waits, refusals and locks that say what is really happening.
Sources, interpretation and authorship made visible, claim by claim.
Look-alikes caught before the click, embeds silent until invited in.
Alerts that earn trust and decay, absences that raise the alarm.
Figures that show how they are computed, how fresh they are, and at what scale.
Keyboard targeting, return threads and discovery for dense apps.
Exclusives are included in every paid plan. Titles are cited only to describe where each mechanic comes from and remain the property of their respective owners. Not affiliated with or endorsed by the rights holders.
For Claude Code · Cursor · Copilot · Windsurf
AI agents are great at writing UI and terrible at remembering a library's API. The Marvelous MCP server gives them the catalog, every component's API and demo markup, and a tool that installs files with their dependencies. Result: correct code on the first try, in whatever framework the project uses.
search_components full-text search across names, tags and APIsget_component API, accessibility notes, canonical demo markupinstall_components copies files + dependencies, returns the snippet for your frameworkget_design_tokens so custom CSS matches your themeclaude mcp add marvelous-ui -- node ./marvelous/mcp/server.mjs
{
"mcpServers": {
"marvelous-ui": {
"command": "node",
"args": ["./marvelous/mcp/server.mjs"]
}
}
}
Prefer no AI? The CLI does the same: node marvelous/scripts/add.mjs dialog tabs --out src/ui
The honest comparison
| Feature | Typical React UI kit | Marvelous UI |
|---|---|---|
| Works in Vue, Svelte, Angular, Astro, HTML | ✕ | ✓ |
| Runtime dependencies | framer-motion, three, gsap… | none |
| MCP server for AI agents | rarely | ✓ included |
| Original components you won't find elsewhere | rarely | 150 Exclusives |
| Dark mode + reduced motion everywhere | varies | ✓ every component |
| Your CSS always wins (zero-specificity layers) | ✕ | ✓ |
| Pricing | often yearly subscription | one-time, yours forever |
Pricing
Every plan includes all components, the MCP server, the CLI, and 12 months of new components, updates and playground exports.
Prices in USD. EU and UK: VAT included. US, Canada and India: sales tax added at checkout. Sold by our merchant of record, Polar. 14-day refund (conditions).
Free pack
The everyday base components, with the same code, CLI and MCP server as the paid plans. MIT licensed: download the zip, read the source, ship it.
ZIP · direct download · includes the MCP server, the CLI and the docs
cd marvelous-ui-free && npm install
node scripts/init-agent.mjs ../my-app
Writes AGENTS.md and the MCP config for Claude Code, Cursor, VS Code and Gemini CLI. Codex, Windsurf, Zed: see docs/MCP.md in the zip.
Every plan unlocks the whole library.
Done for you
A conversion-focused, animated, accessible landing page, delivered in your stack, with the source code. From $2,850. 3 slots per month.
Built by Quentin Fankrache, author of Marvelous UI.
FAQ
Yes. Components are standard Custom Elements with light-DOM markup and CSS in cascade layers. React 19+ supports them natively; Vue needs one line (isCustomElement); Angular needs CUSTOM_ELEMENTS_SCHEMA; Svelte, Astro and plain HTML work as-is. The MCP/CLI returns the exact snippet for your framework.
Exclusives are 150 original components you won't find in any other library, included in every paid plan. Kits group the most useful ones by the problem they solve, like forms that don't lose people or safe destructive actions. See the 8 kits
You pay once and keep everything you downloaded, for every project, forever. The first 12 months of new components, updates and playground exports are included. After that, renewing is optional ($59 to $359 a year depending on the plan). If you stop, nothing you built or downloaded is taken away.
Yes, unlimited end products, commercial included. What you can't do is resell or redistribute the components themselves as a UI kit, template marketplace item or competing library.
The components used in that site or app ship with it, source included. Your client may use them only to run and maintain that product, not in another one. With Unlimited, you can also hand that source over so the client or its other providers maintain the product. A freelancer working on your projects counts as one of your developers. Read the license
Perfectly. All selectors are wrapped in :where() inside @layer mv.*, so your utilities always override them. Declare the layer order once and you're done.
Every module is SSR-safe (no top-level window/document access). Components upgrade on the client.
ARIA roles, full keyboard support and visible focus on every interactive component. Decorative effects are hidden from assistive tech and stop when the user prefers reduced motion.
E-mail us within 14 days. If you haven't downloaded the Pro pack yet, you get a full refund, no questions asked. If you have, tell us what didn't work and we refund you once. You can try the Free pack and the playground for free first. Terms
Yes. Checkout is handled by our merchant of record, which issues a VAT-compliant invoice with your company details.
No worries. We got UI covered. Launching soon.