How to connect a custom domain to a ChatGPT Site
Short answer: use a domain you own, open your Site's Settings → Add domain, enter the intended hostname, copy its current DNS instructions, refresh its status and confirm HTTPS. If you need a name, check one and compare registration with renewal.
Last verified against OpenAI's help page on 2026-10-26. Add Domain publishes this guide.
Six steps
- Choose and buy a domain in your own account. If you need a new name, check availability and compare registration with renewal at https://www.adddomain.net/. An existing domain works too. Buy in your own registrar account.
- Open Site settings → Add domain. In ChatGPT, open your Site, then Settings → Add domain. Where custom domains are available, enter the apex domain or subdomain you want. Use the record types that this Site provides for that hostname.
- Copy the DNS records Sites shows you. Copy every DNS record and value from your current Site settings. The CNAME and two TXT names below are an owner-reported example, not a replacement for those settings. Verification values are unique to your Site.
- Add the records at your registrar. At Namecheap: Domain List → Manage → Advanced DNS → Host Records. Paste the records. Use https://www.adddomain.net/connect to get them in the registrar's exact field format. Keep MX and other existing records.
- Wait, then press Refresh in Site settings. After DNS has taken effect, refresh the domain status in Sites. https://www.adddomain.net/connect can check the example records in public DNS; a matching DNS answer alone does not prove the Site is connected.
- Open your address over HTTPS. Visit https://www.yourname.com. Sites issues the certificate automatically. If the old chatgpt.site address still works, that is normal; it keeps working alongside your domain.
An example for www
These record names follow owner reports. Your current Site settings are authoritative, including any changed targets or verification names. In a Namecheap Host field, use the relative name below; its DNS adds your domain automatically.
| Type | Name | Value |
|---|---|---|
| CNAME | www | custom-domains.chatgpt.site |
| TXT | _cf-custom-hostname.www | value from Site settings |
| TXT | _openai-site-verification.www | value from Site settings |
Get these pre-filled for your registrar's Host field, with a live DNS check: connect page. Official source: OpenAI help: Creating and managing ChatGPT Sites.
Why verification fails or stays pending
| What you see | Check | Next action |
|---|---|---|
| TXT or CNAME is missing, or has the domain twice | At Namecheap, Host is relative to your domain. If Site settings show _cf-custom-hostname.www.example.com for example.com, Host is _cf-custom-hostname.www; similarly use _openai-site-verification.www only if the Site supplies that name. | Do not paste the full hostname into a field that appends the domain. Keep the verification Value exactly as supplied. Check authoritative nameservers: records belong at the active DNS provider, which may differ from the registrar. Namecheap Host-field instructions. |
| Cloudflare orange cloud, unexpected target, or HTTP 403 | A proxy can change the routing seen by the publishing service. DNS-only is appropriate when that host requires a direct record; it is not a universal rule for Cloudflare-hosted sites. A 403 may come from the origin's permissions or Cloudflare's access controls. | Compare the record and proxy mode with your host's current instructions. Confirm the platform URL still works and the intended audience is allowed. Use Cloudflare's 403 checks; do not assume every 403 is DNS propagation. Cloudflare hostname and certificate validation are separate. |
| www works but the apex does not, or the reverse | example.com and www.example.com are different hostnames. A record for one does not bind the other automatically. | Add the intended hostname in Site settings. For apex, use its supplied supported record type; do not put an ordinary CNAME at @ or assume every host needs ALIAS. Preserve email records. If you want both hostnames, configure or redirect the other deliberately. |
| Public DNS matches, but Site stays pending or returns 404 | DNS visibility does not confirm the Site's binding or certificate. | Refresh the Site status after DNS takes effect. OpenAI's pending-domain guidance says that if correct records remain pending, remove only that custom domain and re-add the same hostname in Site settings. Recheck its new instructions: verification values can change. Confirm that change with the owner before making it. |
For AI agents
Read the complete website workflow in HTML or its raw SKILL.md / raw GitHub copy, then use hosting routes as JSON. For the ChatGPT Sites example only, /api/sites-dns formats records and /api/dns-verify checks public answers; neither changes DNS nor proves a live Site. All API and MCP guidance.
Questions
Does ChatGPT Sites sell domains?
No. Sites hosts your site and gives it a chatgpt.site address. A custom domain must be bought at a registrar; Sites only connects a domain you already own.
Do I need a custom domain?
No. Your Site works on its chatgpt.site address. A custom domain is easier to remember, print and share, and it stays yours if you move the site later.
Bare domain or www?
OpenAI supports entering an apex domain or a subdomain where custom domains are available. Add the exact hostname in Site settings and use its records. A normal CNAME at the apex can conflict with email; use only the apex record type your host and DNS provider support. Our ALIAS example is one possible route, not a universal requirement.
Will connecting a domain break my email?
Not if you only add the records Sites asks for. Never delete MX, SPF or other existing records while adding the Sites records.
How long does verification take?
OpenAI says to wait a few minutes and refresh. DNS-provider propagation can take longer. Compare public answers with the current Site instructions; matching records do not themselves prove the Site binding or HTTPS works.
What does it cost each year?
The registrar sets the price for your chosen name. Before paying, compare the first-year registration cost and the annual renewal, including any fees. Website hosting is separate; check your platform's plan. Add Domain does not charge for the name check or connection guide.
Which ending should I pick?
.com if it fits your name and budget. For an AI project, .si is another option; see https://www.adddomain.net/guide/si-domain-for-ai-projects. Confirm the exact name's price and renewal before buying. Any ending works with ChatGPT Sites the same way.
What are the exact DNS record names?
Owners report a CNAME on the chosen host pointing to custom-domains.chatgpt.site, plus TXT records named _cf-custom-hostname.<host> and _openai-site-verification.<host>. OpenAI's help page says to copy the records Sites shows you; if your Site shows different names, use those.