# How to use custom domains in Bubble

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

## TL;DR

Connect a custom domain to your Bubble app with a full DNS setup walkthrough covering CNAME records, www vs non-www redirects, SSL certificates, and troubleshooting common DNS propagation issues. This tutorial guides you through every step from purchasing a domain to seeing it live on your Bubble app.

## Overview: Using Custom Domains in Bubble

By default, Bubble apps live at yourapp.bubbleapps.io. A custom domain like yourapp.com makes your app look professional. This tutorial covers purchasing a domain, configuring DNS records, setting up redirects, and troubleshooting SSL issues.

## Before you start

- A Bubble app on the Starter plan or higher
- A domain name purchased from a registrar (Namecheap, GoDaddy, Google Domains, etc.)
- Access to your domain registrar's DNS settings
- Basic understanding of what DNS records are

## Step-by-step guide

### 1. Add your custom domain in Bubble settings

In your Bubble editor, go to Settings in the left sidebar, then the Domain/email tab. In the Domain section, enter your custom domain (e.g., www.yourapp.com). Click the Add domain button. Bubble will display the required DNS records you need to configure at your registrar.

**Expected result:** Bubble shows the DNS records (CNAME) you need to add at your domain registrar.

### 2. Configure DNS records at your registrar

Log into your domain registrar (Namecheap, GoDaddy, etc.). Navigate to DNS Management. Add a CNAME record: Host = www, Value = the CNAME target Bubble provided (typically yourapp.bubbleapps.io). For the root domain (yourapp.com without www), some registrars support ALIAS or ANAME records pointing to Bubble's target. If not, use a redirect from root to www.

> Pro tip: Set the TTL (Time To Live) to 300 seconds (5 minutes) during setup so changes propagate faster. Increase it later for caching.

**Expected result:** DNS records are configured pointing your domain to Bubble's servers.

### 3. Set up root domain redirect

If your registrar does not support ALIAS records for the root domain, set up a redirect from yourapp.com to www.yourapp.com. Most registrars offer URL forwarding in their DNS settings. Choose a 301 (permanent) redirect. This ensures users who type yourapp.com without www are sent to the correct address.

**Expected result:** Visiting yourapp.com redirects to www.yourapp.com where your Bubble app is served.

### 4. Wait for DNS propagation and verify

DNS changes can take 15 minutes to 48 hours to propagate globally. Use a tool like dnschecker.org to verify your CNAME record is resolving correctly. In Bubble's Settings, click the Check DNS button to verify. Once Bubble confirms the DNS is correct, it will automatically provision an SSL certificate.

**Expected result:** DNS resolves correctly and Bubble provisions an SSL certificate for your domain.

### 5. Troubleshoot common issues

If you see SSL errors, check that you are not using Cloudflare proxy mode (use DNS-only/gray cloud instead). If the domain does not resolve, verify the CNAME record has no typos and TTL has elapsed. If you see ERR_CERT_INVALID, wait 15 more minutes for the SSL certificate to provision. For SSL_ERROR_BAD_CERT_DOMAIN, ensure the domain in Bubble settings matches exactly what you configured in DNS.

**Expected result:** All DNS and SSL issues are resolved and your app loads on the custom domain with HTTPS.

## Complete code example

File: `Workflow summary`

```text
CUSTOM DOMAIN SETUP — CHECKLIST
================================

STEP 1: BUBBLE SETTINGS
  Settings → Domain/email → Add domain
  Enter: www.yourapp.com
  Note the CNAME target provided

STEP 2: DNS RECORDS
  At your registrar's DNS management:
  Record 1 (CNAME):
    Host: www
    Value: yourapp.bubbleapps.io (or Bubble's provided target)
    TTL: 300

  Record 2 (Root domain — if ALIAS supported):
    Host: @ (or blank)
    Type: ALIAS or ANAME
    Value: yourapp.bubbleapps.io

  OR: URL redirect from yourapp.com → www.yourapp.com (301)

STEP 3: VERIFICATION
  Wait 15 min - 48 hours for propagation
  Check at dnschecker.org
  In Bubble: Settings → Check DNS

STEP 4: SSL
  Automatic after DNS verification
  Wait up to 15 min for certificate

TROUBLESHOOTING
  Cloudflare: Use DNS-only mode (gray cloud)
  SSL error: Wait for certificate provisioning
  Domain not resolving: Check CNAME spelling
  ERR_CERT_INVALID: Allow more propagation time
```

## Common mistakes

- **Using Cloudflare proxy mode instead of DNS-only** — Cloudflare's proxy intercepts SSL, causing certificate conflicts with Bubble's auto-provisioned SSL. Fix: Set your DNS record to DNS-only mode (gray cloud icon) in Cloudflare's dashboard.
- **Adding an A record instead of CNAME** — Bubble's IP addresses can change. A records pointing to a specific IP will break if Bubble updates their infrastructure. Fix: Always use a CNAME record pointing to the hostname Bubble provides, not an IP address.
- **Not setting up the root domain redirect** — Users typing yourapp.com (without www) see an error page or a different site. Fix: Set up a 301 redirect from the root domain to www, or use an ALIAS record if your registrar supports it.

## Best practices

- Use CNAME records instead of A records for reliability
- Set up redirects so both www and non-www versions work
- Start with low TTL (300 seconds) during setup, increase later
- Disable Cloudflare proxy if using Cloudflare for DNS
- Test your domain on multiple browsers after setup
- Verify SSL is working by checking for the padlock icon

## Frequently asked questions

### Do I need a paid Bubble plan for custom domains?

Yes. Custom domains are available on the Starter plan ($29/month) and above. Free plans use the bubbleapps.io subdomain.

### How long does DNS propagation take?

Typically 15 minutes to 2 hours, but can take up to 48 hours in rare cases. Use dnschecker.org to monitor progress.

### Can I use a subdomain like app.mysite.com?

Yes. Add a CNAME record for the subdomain (e.g., Host: app, Value: yourapp.bubbleapps.io) and add app.mysite.com in Bubble settings.

### Will my old bubbleapps.io URL still work?

Yes. The bubbleapps.io URL continues to work alongside your custom domain. Bubble does not automatically redirect from one to the other.

### Can I use multiple custom domains?

Bubble supports one primary custom domain per app. For additional domains, set up redirects at the registrar level pointing to your primary domain.

### Can RapidDev help with domain and deployment setup?

Yes. RapidDev can handle DNS configuration, SSL troubleshooting, CDN setup, and multi-domain architecture for your Bubble apps.

---

Source: https://www.rapidevelopers.com/bubble-tutorial/use-custom-domains-in-bubble
© RapidDev — https://www.rapidevelopers.com/bubble-tutorial/use-custom-domains-in-bubble
