---
title: "Publish to a Domain"
description: "Publish your v0 site to Vercel, then buy and connect a custom domain so visitors can find it at a real URL."
canonical_url: "https://vercel.com/academy/v0-foundations/publish-and-customize-your-domain"
md_url: "https://vercel.com/academy/v0-foundations/publish-and-customize-your-domain.md"
docset_id: "vercel-academy"
doc_version: "1.0"
last_updated: "2026-11-03T04:17:42.540Z"
content_type: "lesson"
course: "v0-foundations"
course_title: "Build with v0"
prerequisites:  []
---

<agent-instructions>
Vercel Academy — structured learning, not reference docs.
Lessons are sequenced.
Adapt commands to the human's actual environment (OS, package manager, shell, editor) — detect from project context or ask, don't assume.
The lesson shows one path; if the human's project diverges, adapt concepts to their setup.
Preserve the learning goal over literal steps.
Quizzes are pedagogical — engage, don't spoil.
Quiz answers are included for your reference.
</agent-instructions>

# Publish to a Domain

\*\*Note: v0 moved some buttons\*\*

The publish and domain menus have been rearranged since we recorded this video. Follow along with the video for the big picture, then use the steps below, which match the current v0.

# Publish to a Domain

The site looks great inside v0. But "inside v0" is a preview. To send it to a friend (or a customer, or your mom), it needs a real URL on the real internet.

This part takes about a minute.

## Publish to production

Select **Publish** in the chat header. The first time, v0 walks you through a short setup:

1. Confirm the Vercel project name.
2. Choose who can see the deployed site. The choices depend on your plan, so pick the one that lets a friend open the link.
3. Keep the free `vercel.app` domain for now. We'll swap in a real one next.
4. Select **Publish** to start the production deployment.

v0 hands the project to Vercel, which builds and hosts it. A moment later, you'll get a live link. That link is real. Anyone you let in can see your site.

## Buy a custom domain

The default URL is functional but not memorable. Time for an upgrade.

Vercel is also a domain registrar, so you can buy one from [Vercel Domains](https://vercel.com/domains/search) without leaving your account. Search for your shop name (in the video, we tried `greenthumbgoods` and grabbed `.city` because it was cheap and on-theme).

Back in v0, open **Publish** → **Customize Domain**, click **Add**, and enter the domain you bought. If v0 asks for more setup, **Inspect on Vercel** in the Publish menu opens the project's domain settings in the Vercel dashboard.

\*\*Note: Custom domains take a few minutes\*\*

Vercel will tell you the domain will be live in 15 minutes or so. Refresh later. It's working in the background.

## Settings tour

Once your site is live, a few areas of your Vercel project become more interesting:

- **Analytics** shows you who's visiting (right now, just you, but not forever). It starts switched off. Click **Enable** on the Analytics page, then ask v0 to "add Vercel Web Analytics" so the site installs `@vercel/analytics` and starts reporting visits after your next publish.
- **Integrations** is where we'll connect Supabase and Resend in the next two lessons.
- **Domains** (under **Settings**) is where you'd add more domains or change DNS later.

## Recap

- **Publish** sends your site to Vercel and gives you a live URL. After that, **Publish Changes** ships each update.
- **Custom domains** can be bought and connected in the same flow.
- v0 builds it, Vercel hosts it, and your domain points people to it.


---

[Full course index](/academy/llms.txt) · [Sitemap](/academy/sitemap.md)
