
How to Use v0 by Vercel
Generate production-ready React components and landing pages from a text prompt. Go from idea to deployed UI in minutes, not hours.
Prerequisites
- A web browser (v0 runs entirely in the browser)
- A Vercel account (free — sign up with GitHub, GitLab, or email)
- Basic familiarity with React or HTML (helpful but not required)
- Optional: a Next.js or React project to paste generated code into
Go to v0.dev
Open v0.dev in your browser. This is Vercel's AI-powered UI generation tool. The landing page shows example generations and a prompt input field.
v0 generates React components with Tailwind CSS and shadcn/ui by default. The output is real code you can copy into your project — not a mockup or wireframe.
No installation needed
Sign In with Vercel
Click Sign In and authenticate with your Vercel account. If you do not have one, creating a Vercel account is free and takes 30 seconds. You can sign up with GitHub, GitLab, Bitbucket, or email.
v0 offers a generous free tier with a limited number of generations per month. Premium plans unlock more generations, higher priority, and faster output.
Write Your First Prompt
Type a description of the UI you want in the prompt box. Be as detailed as you like. Here are some examples that produce great results:
A pricing page with 3 tiers (Free, Pro, Enterprise),
feature comparison table, toggle for monthly/annual billing,
gradient accent colors, and a FAQ accordion at the bottom.
Use a dark theme with blue accents.Or something simpler to start:
A modern hero section with a headline, subtext,
email signup form, and a subtle gradient background.Review Generated Code
After you submit your prompt, v0 generates one or more variations. Each variation includes:
- A live preview of the rendered component
- The full React/TypeScript source code
- Tailwind CSS classes for styling
- shadcn/ui components where appropriate
Click the Code tab to see the source. You can switch between the preview and code views to understand exactly what was generated.
Check the component structure
Iterate with Follow-Ups
The first generation is rarely perfect. Send follow-up messages to refine the design:
Make the hero section taller and center the content vertically.
Change the CTA button to a gradient from blue to purple.
Add a subtle pattern background instead of the solid color.v0 remembers the context of your conversation. Each follow-up builds on the previous generation, so you can iteratively refine without starting over.
Get the Vibe Coding Cheat Sheet
Best tool for every use case + pricing + pro tips. One page, zero fluff. Plus weekly updates on new tools.
Copy to Your Project or Deploy
When you are happy with the result, you have two options:
- Copy code — Click the copy button and paste the component into your existing React/Next.js project. Add any missing dependencies with npm install.
- Deploy directly — Click "Deploy to Vercel" to create a new project with the generated code. v0 sets up a GitHub repo and deploys it in one step.
If you are copying code manually, make sure you have Tailwind CSS and the required shadcn/ui components installed in your project.
# Install shadcn/ui CLI if you haven't already
npx shadcn@latest init
# Add specific components v0 used
npx shadcn@latest add button card inputCustomize Styling
v0 generates clean Tailwind CSS that is easy to customize. Common adjustments:
- Colors — Swap color classes to match your brand. Replace
blue-500with your primary color. - Spacing — Adjust padding and margins to fit your layout grid.
- Typography — Change font sizes, weights, and line heights to match your design system.
- Responsive behavior — v0 generates responsive code by default, but you may want to adjust breakpoints.
Ship to Vercel
Push your project to GitHub and connect it to Vercel for automatic deployments. Every push to your main branch triggers a production deployment. Every pull request gets a preview URL.
# Push to GitHub
git add .
git commit -m "Add landing page from v0"
git push origin main
# Vercel deploys automatically if connectedIf you used the "Deploy to Vercel" button from v0, this is already done. Your project is live, and future pushes to the repo will trigger redeployments.
Preview deployments
What to Build First
SaaS Landing Page
Prompt: "A SaaS landing page with a hero section, feature grid, pricing table with 3 tiers, testimonials carousel, and a CTA footer. Dark theme, Inter font." Copy the result into your Next.js project and customize.
Dashboard with Charts
Prompt: "An analytics dashboard with a sidebar nav, KPI cards, a line chart for revenue over time, and a data table with search and pagination." Great for learning how v0 handles interactive components.
Multi-Step Form Wizard
Prompt: "A 4-step form wizard with progress indicator, validation on each step, file upload on step 3, and a review/confirm page on step 4. Accessible and mobile-friendly." Tests v0 on complex interactive UI.
v0 Tips from Power Users
Reference existing designs
Describe UIs you admire: "Like the Stripe pricing page but with a dark theme" or "Similar to the Linear sidebar." v0 understands design references and adapts them.
Be specific about layout
Instead of "a card," say "a card with an image on the left, title and description on the right, and a badge in the top-right corner." Spatial detail helps v0 nail the layout.
Iterate, do not restart
After the first generation, send follow-up messages like "make the hero taller," "swap the grid to 2 columns on mobile," or "add a gradient background." Iterations are faster than new prompts.
Use screenshots as input
You can paste a screenshot or mockup image and ask v0 to "recreate this UI." It analyzes the image and generates matching React code — great for translating Figma designs.
Ask for accessible code
Add "make it accessible" to your prompt. v0 will include proper ARIA labels, keyboard navigation, focus states, and semantic HTML. Always verify with your own testing.
Export to your design system
v0 generates Tailwind + shadcn/ui by default. If you use a different design system, copy the JSX structure and swap the styling. The component logic transfers cleanly.
Prompt Formula
| Element | Example |
|---|---|
| Component type | "A pricing page," "A dashboard sidebar," "A signup form" |
| Content | "3 pricing tiers: Free, Pro, Enterprise with feature list" |
| Layout | "2-column on desktop, stacked on mobile" |
| Style | "Dark theme, rounded corners, gradient accents" |
| Interactions | "Toggle for monthly/annual, accordion FAQ" |
| Constraints | "Must be accessible, max 600px wide" |
You are set up. Now explore.
Compare v0 against other tools, or submit what you build to the showcase.