> ## Documentation Index
> Fetch the complete documentation index at: https://docs.formbox.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom domains

> Serve your hosted forms from your own domain for a fully branded experience.

<Tip>Custom domains are only available on the **Professional** and **Business** plans.</Tip>

## Overview

Custom domains let you share your forms on your own web address instead of a Formbox link. That makes your forms feel more polished, easier to remember, and more on-brand.

A single domain can show **multiple forms** at different addresses. For example, one form can live at your domain root and another can live at a simple path like `/contact`.

Only published forms can use custom domains.

You can manage custom domains from the **Domains** page in your dashboard. Anyone with Admin or Member access can add a domain, verify it, and connect forms.

## Adding a custom domain

1. Navigate to **Domains** in your organization's dashboard sidebar.
2. Click **Add domain**.
3. Enter your domain name. This can be a subdomain like `forms.example.com` or your main domain like `example.com`.
4. Click **Add domain**.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-add.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=915e0e177eb3c3288b54cba40c03387a" style={{ borderRadius: "0.5rem" }} width="2400" height="1242" data-path="images/custom-domains-add.webp" />
</Frame>

The domain will appear in your list with a **Misconfigured** status until you complete the DNS setup below.

## Verifying your domain

After adding your domain, click on it in the Domains list to open the domain detail page. From here you can see its current status and add your DNS records.

### Check your status

The **Overview** tab shows the current verification status of your domain.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-overview-tab.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=628e8ff4c780fe145a8edd74088e7381" style={{ borderRadius: "0.5rem" }} width="2594" height="1232" data-path="images/custom-domains-overview-tab.webp" />
</Frame>

| Status            | Meaning                                                                  |
| ----------------- | ------------------------------------------------------------------------ |
| **Verifying**     | DNS records were detected and verification is in progress.               |
| **Verified**      | Your domain is active and your form is live.                             |
| **Misconfigured** | The DNS records are missing or incorrect. Check them and try again.      |
| **Error**         | Something went wrong during verification. Check the error message shown. |

### Add DNS records

Open the **DNS Records** tab to see exactly which records to add. You'll need to log in to wherever you manage your domain (such as GoDaddy, Namecheap, Cloudflare, or similar) and add the records shown.

<Frame>
  <img src="https://mintcdn.com/formbox/RSj4W5lpRmV9vB5Q/images/custom-domains-dns-records.webp?fit=max&auto=format&n=RSj4W5lpRmV9vB5Q&q=85&s=6ed9e66b44c152dbfcc01665a6b1d3d7" style={{ borderRadius: "0.5rem" }} width="2666" height="982" data-path="images/custom-domains-dns-records.webp" />
</Frame>

* **Subdomains** (e.g. `forms.example.com`): Add a **CNAME** record with the value shown in Formbox.
* **Root domains** (e.g. `example.com`): Add an **A** record with the IP address shown in Formbox.

Some domains also require a **TXT** record for verification. If one is needed, it will appear alongside the other records.

Once you've added the records, click **Refresh verification** in the top right corner to check whether everything is set up correctly. If the records are not showing yet, wait a few minutes and try again.

<Note>
  DNS changes can take anywhere from a few minutes to 48 hours to take effect, depending on your
  domain provider. Most changes go through within a few minutes.
</Note>

## Set up where your forms live

Once your domain is verified, you can connect forms to it from the domain's **Configuration** tab. Each connection maps a web address on your domain to a specific form.

1. Go to the **Domains** page and click on your verified domain.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-domains-list.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=2465e7eb3f8f49e325f8056cb1cad3eb" style={{ borderRadius: "0.5rem" }} width="2444" height="1186" data-path="images/custom-domains-domains-list.webp" />
</Frame>

2. Open the **Configuration** tab.

<Frame>
  <img src="https://mintcdn.com/formbox/spq90otA14rlEc9s/images/custom-domains-configuration-tab.webp?fit=max&auto=format&n=spq90otA14rlEc9s&q=85&s=8249f9e2d6c3907b2fba60509269045a" style={{ borderRadius: "0.5rem" }} width="2772" height="1118" data-path="images/custom-domains-configuration-tab.webp" />
</Frame>

You'll see two starter rows: one for your domain's root and one for a custom path. You can set up either one first.

### Show a form at your domain root

Click **Assign form** next to your domain name. Pick a form from the dropdown and click the checkmark to save.

### Show a form at a custom path

Click **Add custom path** (or the **Add path** button in the top right) and enter a short path like `contact`. Pick a form from the dropdown and click the checkmark to save.

<Frame>
  <img src="https://mintcdn.com/formbox/spq90otA14rlEc9s/images/custom-domains-hosted-combobox.webp?fit=max&auto=format&n=spq90otA14rlEc9s&q=85&s=74955b85aca8070073b79af53e406416" style={{ borderRadius: "0.5rem" }} width="2838" height="1466" data-path="images/custom-domains-hosted-combobox.webp" />
</Frame>

The form picker only shows forms that can be connected to a custom domain.

<Frame>
  <img src="https://mintcdn.com/formbox/spq90otA14rlEc9s/images/custom-domains-inline-list.webp?fit=max&auto=format&n=spq90otA14rlEc9s&q=85&s=e8fd42bd2b5e5a342e37d5818c522961" style={{ borderRadius: "0.5rem" }} width="2660" height="1168" data-path="images/custom-domains-inline-list.webp" />
</Frame>

You can add as many paths as you need. Each form can only be connected to one address at a time.

<Note>
  Keep paths short and simple. Multi-level addresses like `/events/spring-registration` are not
  supported yet.
</Note>

### Connecting from within a form

You can also start the setup from inside a form:

1. Open the form and go to the **Settings** tab.
2. Scroll down to the **Custom domain** section.
3. Click **Connect domain**. This takes you to the Domains page where you can set up a path for this form.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-form-settings.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=b6b850e68f5ea699345f2ab31ce71cb2" style={{ borderRadius: "0.5rem" }} width="2554" height="506" data-path="images/custom-domains-form-settings.webp" />
</Frame>

Once connected, the **Custom domain** section will show the domain name and a **Manage domain** link that takes you back to its settings.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-form-settings-connected.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=695e7fd2994ee4a3315552991987ef57" style={{ borderRadius: "0.5rem" }} width="2530" height="724" data-path="images/custom-domains-form-settings-connected.webp" />
</Frame>

<Note>Custom domains only work with forms that are meant to be shared publicly.</Note>

## Sharing your form

Once a path is set up for your form, the **Share** tab will show your custom domain URL as the main link to share. Your original Formbox URL will still work as a backup.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-share.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=98606ae9b1db3ea3dd6e8f308388b7a2" style={{ borderRadius: "0.5rem" }} width="2768" height="1008" data-path="images/custom-domains-share.webp" />
</Frame>

QR codes for your form will also use the custom domain URL.

## Changing a path

If you update the address for a form (for example, changing `/signup` to `/register`), the old address keeps working automatically. Anyone who saved or shared the old link will still reach the form. Old addresses are cleaned up when the form is fully disconnected from the domain.

## Removing a custom domain

1. Go to the **Domains** page in your organization dashboard.
2. Click the **more options** menu (three dots) on the domain you want to remove.
3. Select **Remove** and confirm.

<Frame>
  <img src="https://mintcdn.com/formbox/_6Xok6ILkHi8xZTD/images/custom-domains-remove.webp?fit=max&auto=format&n=_6Xok6ILkHi8xZTD&q=85&s=6ea17d789cf85a5765412bd714d0fc75" style={{ borderRadius: "0.5rem" }} width="2532" height="1222" data-path="images/custom-domains-remove.webp" />
</Frame>

Removing a domain disconnects it from all forms. Each form will go back to using its default Formbox URL.

## Troubleshooting

### Domain is stuck on "Misconfigured"

* Double-check that the DNS records in your domain provider match exactly what Formbox shows.
* Make sure you're updating the right domain if you manage several.
* Wait a few minutes and click **Refresh**. DNS changes can take time to take effect.
* Check that you used the correct record type: subdomains need a CNAME record, root domains need an A record.

### Visiting my domain shows a "not found" page

* A path only works if you have explicitly set it up in the **Configuration** tab. Formbox does not create any paths automatically.
* If you want your domain root to show a form, click **Assign form** next to your domain name in the **Configuration** tab.

### The TXT verification record is not being detected

* Make sure the TXT record is added to the exact hostname shown in Formbox (it often starts with `_vercel`).
* Some domain providers want you to leave out your domain name from the record name field. Check your provider's help docs if you are unsure.
