v0 alternatives: the part that is not the model

v0 by Vercel is metered in tokens and ships a visual Design Mode. Here is what every alternative to it still leaves you to decide yourself.

A tall stack of frosted glass panels fanning out across black space, all of them competent and all of them alike, lit cyan and pale amber
Same layout three times. Nothing in the tool chose which one was right.

v0 is made by Vercel, it returns React and ships components rather than whole businesses, and it meters usage in tokens against published per model rates. Those three facts explain most of the reasons people search for an alternative.

The free plan sits at $0 a month with $5 of included monthly credits and a 7 message per day limit. Business is $100 per user per month with $30 of included credits per user and $2 of free daily credits on login. The model menu runs v0 Mini, v0 Pro, v0 Max and v0 Max Fast, and the spread between them is wide: output on v0 Mini is billed at $1.20 per million tokens, output on v0 Max Fast at $50.

The call, up front: every alternative below changes the meter, the runtime or the surface you click. None of them changes what the generated page looks like, because that was never the tool's decision to make. Thanor sells the part that is.

Why the shortlist is shorter than it looks#

Search the phrase and you get a long list. Collapse it by what the tool actually is and you get four groups.

  • Chat to app. Bolt.new and Lovable. You describe it, they return a running project. Bolt meters in monthly tokens that roll over, Lovable in credits with an expiry. Both go further than v0 into the backend and the hosting.
  • Canvas with an agent. Framer and Webflow. The unit of work is a page you can see, and the AI writes into it. Billing is per site rather than per seat, which changes the shape of the invoice for anyone running many small projects.
  • Agent in your editor. Cursor, Claude Code, Codex. No hosting, no preview URL, no gallery. The advantage is that the output lands in the repository you already have, with the conventions you already keep.
  • Component registries. shadcn/ui, Aceternity, Magic UI, React Bits. Not builders at all. They hand you parts, free, and a part and a decision solve different halves of the job.

Pick a group and the question inside it is mostly commercial: which meter suits how you actually work, and whether the invoice is per seat or per site. Pick across groups and the question is workflow: chat box or canvas, hosted preview or local repository, one project or forty. Both are answerable in an afternoon with a trial account.

Neither is the question that sent most people looking, which is why the fourth section of this page exists.

The alternatives, side by side#

Read the third column downward and the pattern is the whole argument.

ToolMeterWhat it decides about the design
v0credits against per model token ratesnothing, until you edit it in Design Mode
Bolt.newmonthly tokens, rollover, free daily capnothing, until you write design guidance
Lovablecredits, daily grants, monthly expirynothing, until you supply a token set
Framerper site plan plus agent creditsnothing, but it reviews for inconsistency
Webflowper site, in USD, plus platform tiersnothing, beyond the classes you define
Cursorsubscription plus usagenothing, beyond what your repo contains

Six products, one blank column. That is not an accident of how the table was written. It is the market.

Each of these companies has thought carefully about this and reached the same answer. A tool that arrives with a house style is a tool that fights the agency using it on a client brand, and agencies are where the money is. So the correct product decision is to be excellent at applying a look and to hold no opinion about which look.

The cost lands on whoever is left holding the opinion. If that is a designer with a brand book, nothing is wrong: the builder applies the book faithfully and quickly. If it is a founder at eleven at night with the word premium in their head and nothing else, the model fills the gap, and the model fills it the same way for everybody.

What Design Mode is for#

Design Mode is a genuine feature and it is on the free plan, so it is worth being exact about what it does.

It lets you select something in the generated result and change it visually, rather than going back to the chat box and asking in English for a smaller heading. Spacing, size, colour, the things that are tedious to describe and quick to drag. For that job it is the right answer, and asking a model to nudge 8px is a bad use of both your time and your credits.

What it is not is a source of decisions. Design Mode is a steering wheel. It assumes someone in the car knows the destination.

Look at the sequence most people actually run:

  1. Type a one line brief.
  2. Get a plausible page back.
  3. Open Design Mode and start adjusting things that look slightly off.
  4. Stop when it stops looking slightly off.

Step four is the problem. Stops looking off is not a design target, it is fatigue. The result converges on the nearest safe median, which is exactly where the model started, and two hours of visual editing has moved the page a few pixels from where an unspecified prompt put it.

Reverse the sequence and the same tool behaves differently. Decide the scale, the palette and the motion first, spend the generation on executing them, and Design Mode becomes what it should be: a correction tool, not a search.

Two glass panels of identical outline, the left holding a fast rough composition and the right the same composition resolved with exact spacing
Adjusting a default and authoring a decision are not the same operation.

The layer above the component#

Components are solved. That is the honest state of the market now, and it is why comparing v0 to its alternatives on component quality returns a shrug. Every one of them can produce a card, a nav, a pricing table and a footer that hold up under inspection, and the registries give the same parts away for nothing.

What is not solved is everything above the component:

  • Which components belong on this page at all, and which are filler.
  • The type scale, at a stated ratio, resolving to a stated size at a stated breakpoint.
  • The motion, as a named curve and a real duration. cubic-bezier(0.22, 1, 0.36, 1) at 620ms reads as considered. The same move at 200ms reads as a website from 2014.
  • The section order, and the reason each section earns its position rather than inheriting it from a template.

Search any of the builders for that layer and it is absent. Across roughly 110,000 indexed URLs from Framer, Webflow, Lovable, Replit, Cursor and Windsurf, the string easing appears in three and cubic-bezier in zero.

That absence is structural, not accidental. A specification exact enough to paste is a specification that works in any of the six tools, which makes the choice of tool the small decision and the spec the large one. No company sells the thing that makes its own surface interchangeable.

Which leaves the layer to be written somewhere else, as an exact brief rather than an adjective, and pasted into whichever builder you already pay for.

Which one to move to#

Three clean answers, depending on the actual complaint.

  • Cost. If the monthly token spend is the issue, Bolt's rollover model suits bursty work better than anything metered per day, and Lovable's credit grants suit a steady drip of small changes. Model choice inside v0 moves the number more than switching product does: the gap between v0 Mini and v0 Max Fast output is a factor of roughly forty.
  • Scope. If you want the database, the auth and the deploy in one place, Lovable and Bolt go further than v0 does, and the Bolt against v0 comparison covers where each stops. If you want a canvas instead of a chat box, Framer and Webflow are canvases.
  • Look. If the complaint is that everything you generate has the same face, switching is the wrong move, because the sameness rides along in the brief. Lovable against v0 ends in the same place for the same reason: two good generators, one missing input, and a migration that costs a week and changes nothing visible.

The verdict: keep v0 and fix the input. It is a fast, capable generator attached to the best deploy path in the business, and it will execute a precise specification precisely. Hand it a type scale, a palette in hex, a named easing curve with a duration and a section order, and Design Mode goes back to being a finishing tool instead of a search party.

Browse the Thanor library and see what a full specification looks like written down.

Questions this raises

What is the best alternative to v0?

Depends what you are replacing. For a chat box that returns a working app, Bolt.new and Lovable are the direct swaps. For a canvas you can click, Framer and Webflow. For staying in your editor, Cursor or Claude Code. None of the five decides the art direction.

Is v0 free to use?

There is a free plan at `$0` a month that includes `$5` of monthly credits and a `7` message per day limit, with visual Design Mode and deploys to Vercel included. Paid plans add per user credits and access to every model.

How is v0 billed?

In credits spent against published per million token rates, which differ by model. v0 Mini is the cheapest and v0 Max Fast the most expensive, and the rates for input, cache and output are all listed separately on the pricing page.

Does v0 give you a design system?

It gives you Design Mode, which lets you edit the generated result visually. That is an editing surface, not an authored set of decisions. The type scale, the motion timing and the section order still have to come from your brief.

Why does generated UI keep looking the same?

Because the shared default is the same. Every model resolves an unspecified brief towards the median of what it has seen, and the median of public interface work is a centred hero, three cards and a soft fade. Specifying the values changes the output.

Part of

Alternatives, measured

Every library in this category, taken apart one at a time. What each one contains, what it costs, what it leaves out, and what you still have to decide yourself.