Getting Started With v0 by Vercel
v0 is Vercel's generative UI tool that creates production-ready React components from text prompts. Go from zero to your first component in 5 minutes.
// 6 min read · ● updated 2026-06
v0 is Vercel's AI-powered tool that generates production-ready React components from natural language descriptions. Type "a login form with validation and dark mode" and v0 returns complete code with Tailwind CSS, shadcn/ui, and TypeScript — ready to copy or export. The practical value is immediate: you prototype interfaces in seconds instead of hours, and the generated code follows real frontend team standards.
Pro Tip: v0 doesn't replace a frontend developer, but it eliminates the mechanical work of writing CSS and repetitive components. Use it as an accelerator, not a crutch.
Context
v0 started in 2024 as a Vercel experiment to see if an LLM could generate usable user interfaces. It quickly became a standalone product and is now part of the Vercel ecosystem alongside Next.js, Turbopack, and other platform tools.
The model behind v0 is specifically trained to generate code using Vercel's stack: React, Next.js, Tailwind CSS, shadcn/ui, and TypeScript. It's not a generic ChatGPT that "sometimes" generates code — it's fine-tuned to produce functional components on the first try.
Current capabilities include:
- Text-to-component generation
- Interactive chat to refine designs
- Image upload as visual reference (image-to-code)
- Direct export to Next.js projects
- In-browser editing and versioning
- Vercel CLI integration
Note: v0 evolves constantly. Vercel ships new capabilities every few weeks. This guide reflects the state as of June 2026.
Setup
You don't need to install anything to get started — v0 works entirely in the browser. But to integrate it into your real workflow, there are optional setup steps worth doing.
Step 1: Create a v0 account
- Go to v0.dev
- Click "Sign up" (top right)
- Sign up with GitHub, Google, or email
- Once inside, you'll see the dashboard with an empty chat
Pro Tip: Use your GitHub account — v0 integrates naturally with Vercel and Next.js repos, and linking your account makes code export smoother later on.
Step 2: Get familiar with the interface
The v0 workspace has three main zones:
| Zone | Location | What it does |
|---|---|---|
| Chat | Left panel | Write prompts and converse with v0 to refine the component |
| Preview | Center panel | Shows the live rendered component, updating with every change |
| Code | Right panel / tab | Source code of the generated component. Copy, edit, or export it |
Step 3: Write your first prompt (optional — no extra setup needed)
v0 works immediately. To try it out, type this in the chat:
Create a responsive card component with an image on the left, content on the right, and a "Learn more" button.Within seconds you'll have a working component in the preview pane.
Warning: English prompts tend to yield better results because the model was trained primarily on English data. If you use other languages, be more specific with visual details to compensate.
Step 4 (optional): Bring a component into your project
v0 doesn't push code to your machine automatically — you pull each component when it's ready. There are two official ways:
-
Copy from the Code panel. Open the Code tab, copy the component, and paste it into your project. Since v0 uses shadcn/ui, install any missing UI primitives with the shadcn CLI, e.g.:
npx shadcn@latest add button card input -
Add to Codebase (shadcn registry). Each generated component has an Add to Codebase option that gives you a ready-to-run
shadcncommand pointing at the component's registry URL:npx shadcn@latest add "https://v0.app/..."This drops the component into your project (usually under
components/) along with its dependencies.
Pro Tip: Generate and iterate in the browser until the component looks right, then use Add to Codebase to bring it in without manual copy-paste. Check the official docs for the current workflow, since v0 evolves frequently.
Examples
Example 1: Basic dashboard
Prompt:
Create a dashboard with a collapsible sidebar, a header with avatar and notifications, and a 4-card grid showing metrics (active users, revenue, conversion rate, avg session). Use dark blue for the sidebar and white for the content area.What to expect: v0 generates a functional layout with:
- Sidebar with navigation icons and collapse toggle
- Header with notification badge and user avatar
- 4 metric cards with icons, values, and percentage changes
- Fully responsive with Tailwind
Generated code: ~150-200 lines TypeScript + TSX
Dependencies: lucide-react, next/link, next/imageExample 2: Multi-step form
Prompt:
Build a multi-step form with 3 steps: personal info, address, and payment. Show a progress bar at the top. Validate each step before proceeding. Use shadcn/ui components.What to expect: A complete wizard-style form with:
- Progress bar that advances with each step
- Field validation (email, required fields, card format)
- "Previous" and "Next" buttons with disabled states
- Summary review before submission
Note: v0 uses shadcn/ui by default, so components like
Input,Button, andCardalready match your project's theme. No extra installation needed.
Example 3: Image to code
Upload a screenshot of an existing design (from Dribbble, Figma, or your favorite app) and type:
Replicate this design exactly. Use the same spacing, colors, and typography.v0 will analyze the image and generate the closest possible code. It won't be pixel-perfect, but it gives you a solid base to refine.
Warning: The image-to-code feature is impressive but has limits. Don't expect exact replicas of very complex designs or custom typography. Use it as a starting point, not a final result.
Particularities
Strengths
- Speed: go from idea to functional component in seconds. Unbeatable for prototyping.
- Code quality: generated code follows real Next.js + Tailwind + shadcn/ui conventions. Not generic "AI code."
- Visual iteration: refine the design by chatting — "more spacing," "change blue to green," "make the sidebar narrower" — without touching CSS manually.
- Flexible export: manual copy, CLI, or direct integration with Vercel projects.
Limitations
- Fixed stack: v0 only generates code for React + Next.js + Tailwind + shadcn/ui. Don't expect Vue, Svelte, Angular, or Tailwind-less CSS.
- Bounded complexity: great for dashboards and forms. For complex state management, advanced animations, or specific business logic, you'll write manual code.
- Prompt dependency: output quality depends directly on prompt quality. Vague prompts produce generic components.
- No auto-deployment: despite being owned by Vercel, generated components don't auto-deploy. You export them and integrate them into your project.
Pro Tip: The best v0 workflow: generate the base component, export it to your project, then fine-tune details by hand. Don't try to have v0 generate 100% of the final component — treat it as an "executable draft" that you polish.
Pricing
v0 has a free tier (limited generations per month) and paid plans for heavy use. Check v0.dev/pricing for current prices — they change frequently.
// related