# How to Add a Custom Domain to a Bubble App

- Tool: Bubble
- Difficulty: Beginner
- Time required: 15-20 min
- Compatibility: Starter plan+ (custom domains require paid plans)
- Last updated: March 2026

## TL;DR

Adding a custom domain to a Bubble app requires entering the domain in Bubble's Settings, configuring DNS records at your registrar (CNAME for subdomains or A records for root domains), waiting for DNS propagation, and verifying SSL certificate provisioning. This replaces the default yourapp.bubbleapps.io URL with your own branded domain. Custom domains require a paid Bubble plan.

## Overview: Custom Domains in Bubble

This tutorial walks you through connecting your own domain name to your Bubble app, replacing the default bubbleapps.io URL with a professional branded domain.

## Before you start

- A Bubble app on a paid plan (Starter or higher)
- A registered domain name
- Access to your domain registrar's DNS management
- Your Bubble app deployed to development or live

## Step-by-step guide

### 1. Add your domain in Bubble Settings

Go to Settings → Domain / email in your Bubble editor. In the Domain section, enter your custom domain (www.yoursite.com or app.yoursite.com). Click 'Add domain'. Bubble displays the DNS records you need to configure. Copy these values — for subdomains you get a CNAME target, for root domains you get A record IP addresses.

**Expected result:** Your domain is registered in Bubble settings with DNS configuration values displayed.

### 2. Configure DNS records at your registrar

Log into your domain registrar (GoDaddy, Namecheap, Cloudflare, etc.). Navigate to DNS settings. For a subdomain (www.yoursite.com): add a CNAME record with Host = 'www' and Value = the CNAME target Bubble provided. For a root domain (yoursite.com): add A records pointing to Bubble's IP addresses. Set TTL to the lowest available value (300 seconds) for faster propagation.

**Expected result:** DNS records point your domain to Bubble's servers.

### 3. Wait for DNS propagation and verify

DNS changes typically propagate within 1-2 hours but can take up to 48 hours. Check propagation at dnschecker.org. Return to Bubble Settings → Domain and click to verify. Bubble confirms when it can see your DNS records. If verification fails, double-check the record type, host, and value match exactly.

**Expected result:** Bubble confirms DNS records are correctly configured.

### 4. Verify SSL certificate provisioning

Bubble automatically provisions a Let's Encrypt SSL certificate. This can take minutes to hours after DNS verification. Visit your domain in a browser — you should see the padlock icon. If you see SSL errors, wait 30 minutes and retry. If using Cloudflare, set the DNS record to 'DNS only' (grey cloud) — Cloudflare's proxy mode conflicts with Bubble's SSL.

> Pro tip: If SSL issues persist after 2 hours, remove and re-add the domain in Bubble settings to trigger a fresh certificate request.

**Expected result:** Your custom domain loads with HTTPS and a valid SSL certificate.

### 5. Set up redirects between www and non-www

Bubble serves your app on the domain you configured. If you want both yoursite.com and www.yoursite.com to work, set up the primary domain in Bubble and a redirect for the alternate. Most registrars offer URL forwarding: redirect yoursite.com to www.yoursite.com (or vice versa) with a 301 permanent redirect. If using Cloudflare, create a Page Rule for the redirect.

**Expected result:** Both www and non-www versions of your domain work, with one redirecting to the other.

## Complete code example

File: `Workflow summary`

```text
CUSTOM DOMAIN — SETUP SUMMARY
================================

BUBBLE SETTINGS:
  Settings → Domain / email → Add domain
  Enter: www.yoursite.com

DNS — SUBDOMAIN (www):
  Type: CNAME
  Host: www
  Value: [Bubble CNAME target]
  TTL: 300

DNS — ROOT DOMAIN:
  Type: A
  Host: @ (or blank)
  Value: [Bubble IP 1]
  Type: A
  Host: @
  Value: [Bubble IP 2]
  TTL: 300

SSL CERTIFICATE:
  Automatic via Let's Encrypt
  Time: minutes to hours
  Cloudflare: use DNS only (grey cloud)

REDIRECT:
  Primary: www.yoursite.com (in Bubble)
  Redirect: yoursite.com → www.yoursite.com (301)
  Configure at registrar or Cloudflare Page Rule
```

## Common mistakes

- **Using Cloudflare proxy mode (orange cloud) with Bubble** — Cloudflare's proxy intercepts SSL and conflicts with Bubble's Let's Encrypt certificate Fix: Set DNS records to DNS only (grey cloud) in Cloudflare for your Bubble domain
- **Checking too early before DNS has propagated** — DNS changes can take hours — checking immediately shows errors that would resolve on their own Fix: Wait 1-2 hours before troubleshooting, and use dnschecker.org to monitor propagation
- **Configuring the root domain in Bubble but only setting up a CNAME record** — CNAME records cannot be used on root domains (bare domains without a prefix) — only A records work Fix: Use A records for root domains and CNAME records for subdomains (www, app, etc.)

## Best practices

- Use a subdomain (www or app) for simpler DNS setup with CNAME records
- Set TTL to 300 seconds before making changes for faster propagation
- Use Cloudflare DNS only mode to avoid SSL conflicts
- Set up 301 redirects between www and non-www for SEO
- Test your domain from multiple networks/devices to verify global propagation
- Keep your old bubbleapps.io URL working as a fallback during transition
- Document your DNS records in case you need to reconfigure

## Frequently asked questions

### Can I use a custom domain on Bubble's free plan?

No. Custom domains require a paid plan (Starter or higher). Free plan apps are only accessible at yourapp.bubbleapps.io.

### How long does SSL certificate setup take?

SSL certificates are provisioned automatically after DNS verification. It typically takes 5-30 minutes but can take up to a few hours.

### Can I use multiple domains with one Bubble app?

Bubble supports one primary domain per app. For additional domains, set up 301 redirects from the extra domains to your primary domain at the DNS level.

### Will changing my domain affect my SEO?

If you are changing from one custom domain to another, set up 301 redirects from the old domain to preserve SEO value. The transition from bubbleapps.io to a custom domain only helps SEO.

### Can RapidDev help with domain configuration for my Bubble app?

Yes. RapidDev handles complete domain setup including DNS configuration, SSL verification, email preservation, and redirect setup for Bubble apps.

---

Source: https://www.rapidevelopers.com/bubble-tutorial/add-a-custom-domain-to-bubble-app
© RapidDev — https://www.rapidevelopers.com/bubble-tutorial/add-a-custom-domain-to-bubble-app
