How to connect a custom domain to htmlkin
Step by step: point your own domain to an htmlkin page with an A record or a CNAME. Exact steps for GoDaddy, Namecheap and Cloudflare, how to check DNS and fix common errors.
You own a domain and your page is live on htmlkin. One DNS record connects them: an A record for the bare domain or a CNAME for a subdomain. Below are the exact steps for GoDaddy, Namecheap and Cloudflare, how a subdomain differs, and what to do when the domain still doesn't open.
TL;DR
- An A record points a domain to a server's IP address. The bare domain (
example.comwithoutwww) needs one, because DNS standards forbid a CNAME at the zone apex.- A subdomain (
site1.example.com,www.example.com) connects with a CNAME toproxy.htmlkin.io.- Copy the exact values from your dashboard: it always shows the current IP and a ready-made Type / Host / Value table.
What is an A record, and when do you need one?
An A record (address record) is a line in a domain's DNS zone that maps a name to an IPv4 address. The browser asks DNS where example.com lives, gets an IP back and connects to it. Without this record, the domain leads nowhere or to the registrar's parking page.
Two record types are used to connect a domain to a page. Which one you need depends on what you're connecting.
| What you connect | Record type | Host | Value |
|---|---|---|---|
Bare domain example.com |
A |
@ |
IP from your dashboard |
Subdomain site1.example.com |
CNAME |
site1 |
proxy.htmlkin.io |
Address with www |
CNAME |
www |
proxy.htmlkin.io |
Why can't the bare domain use a convenient CNAME? The zone apex must hold SOA and NS records, and a CNAME can't coexist with any other record on the same name. The rule is in RFC 1912 §2.4, and ISC, the developers of BIND, explain it in detail. So the apex connects by IP through an A record, and subdomains connect by name through a CNAME.
In practice, an A record is pinned to one specific IP. If the service moves to a new address, the domain stops working until you update the record by hand. So wherever you have a choice (a subdomain), use a CNAME: it follows an IP change automatically.
What do you need before you start?
Get four things in place before you open your registrar's dashboard. Half of all DNS problems start with editing records in the wrong place.
- A domain registered to you. htmlkin connects domains you already own; buy one at any registrar.
- Know where your DNS is hosted. Records only work in the dashboard of the provider your domain's nameservers point to. If you moved the domain to Cloudflare's nameservers, the DNS editor at GoDaddy or Namecheap no longer affects anything: add the record in Cloudflare.
- A free slot for the domain. Custom domains work on every plan, including Free. The number of hosts equals the plan's site limit: 1 on Free, 10 on Pro, unlimited on Business. See the pricing page for details.
- The host added in your dashboard. Open My domains → Add domain → enter
example.com, and a table with the record's type, host and value appears below. That table is the source of truth: the IP can change, and the dashboard always shows the current one.
At the time of writing, the A record IP is 164.90.240.180 and the CNAME target is proxy.htmlkin.io. Check your dashboard before you set anything up: if the values differ, the dashboard is right.
Each host counts separately: example.com and www.example.com are two records and take two slots of your plan's limit.
How to add an A record on GoDaddy
GoDaddy is the largest registrar, and its DNS editor lives on the domain's page in the Domain Portfolio. These steps apply when the domain uses GoDaddy's nameservers (GoDaddy, "Add an A record").
- Sign in and open your Domain Portfolio.
- Select the domain to open its settings.
- Open the DNS tab.
- Look for existing
Arecords on@. GoDaddy adds parking records to new domains and sometimes on renewal; their values often look like3.33.130.190and15.197.148.33. Delete them or edit one of them to the htmlkin IP. - Select Add New Record and choose type A.
- Set Name to
@: this is the bare domain. - Set Value to the IP from your htmlkin dashboard.
- Leave TTL at the default (1 hour) or pick a shorter one, then select Save.
If the domain has Domain Protection, GoDaddy asks for a 2-step verification code before saving. Most changes take effect within an hour; GoDaddy quotes up to 48 hours for a full worldwide update.
For the www address, add a separate record: type CNAME, Name www, Value proxy.htmlkin.io. If a www CNAME already exists (by default it often points to @), edit it instead of adding a second one. And add the host www.example.com in your dashboard too, or no certificate will be issued for it.
How to add an A record on Namecheap
On Namecheap, records live on the domain's Advanced DNS tab. The Host records section appears only when the domain uses Namecheap BasicDNS, PremiumDNS or FreeDNS; if it's missing, the domain is on third-party nameservers (Namecheap, "How can I set up an A record").
- Sign in and select Domain List in the left sidebar.
- Select Manage next to your domain.
- Open the Advanced DNS tab.
- In Host records, delete the default parking records: a URL Redirect Record on
@and a CNAME Record forwwwpointing toparkingpage.namecheap.com. They conflict with the records you're about to add. - Select Add New Record.
- Set Type to A Record, Host to
@, and Value to the IP from your htmlkin dashboard. - Leave TTL on Automatic, or choose 5 min while you set things up.
- Select the green checkmark to save changes.
According to Namecheap, new records usually take effect in about 30 minutes.
From our support inbox: a leftover redirect or parking record is the most common reason behind "I did everything, but it doesn't work". The new A record is correct, but the old record on the same host still answers, and the browser lands on the registrar's page instead of yours.
How to add a record on Cloudflare
Many people keep their DNS on Cloudflare, either because they bought the domain through Cloudflare Registrar or because they moved their nameservers there. Records are added on the zone's DNS → Records page (Cloudflare, "Manage DNS records").
- Open the Cloudflare dashboard and select your domain.
- Go to DNS → Records.
- Select Add record.
- Set Type to
A, Name to@, and IPv4 address to the IP from your htmlkin dashboard. - Switch Proxy status to DNS only (grey cloud). This step is essential.
- Select Save.
Why DNS only? With the orange cloud on, Cloudflare answers with its own anycast addresses instead of your record's IP (Cloudflare, "Proxy status"). Our DNS check then sees Cloudflare's IP instead of ours, marks the domain as misconfigured, and the TLS certificate isn't issued. The same applies to CNAME records for subdomains: keep them grey.
Cloudflare also lets you skip the IP entirely. It supports CNAME flattening at the zone apex: add a CNAME with Name @ and Target proxy.htmlkin.io, DNS only, and Cloudflare answers with the current IP on its own. This is the most hands-off setup for a bare domain: when our address changes, you don't need to touch anything.
How to connect a subdomain with a CNAME
A subdomain doesn't need an A record: point a CNAME to proxy.htmlkin.io. It's the more reliable option, because the domain refers to a name rather than a fixed IP, so it keeps working through any address change on our side.
| Type | Host | Value |
|---|---|---|
CNAME |
site1 |
proxy.htmlkin.io |
Enter only the left part in the host field: site1, not site1.example.com. Dashboards append the domain themselves, and site1.example.com.example.com is the classic result of hurrying. GoDaddy and Cloudflare call this field Name, Namecheap calls it Host.
A special case is a DNS provider that supports ALIAS or ANAME records, such as Namecheap. These non-standard types behave like a CNAME but are allowed at the zone apex. With one, you can point the bare domain to proxy.htmlkin.io instead of an IP. On Cloudflare, the flattened CNAME described above does the same job. GoDaddy offers only the A record for the apex.
How do you check that the record works?
The dashboard shows the status of each domain, but it's useful to check DNS yourself. Run these in a terminal:
dig example.com A +short
dig site1.example.com CNAME +short
The first command should print the IP from your dashboard, the second proxy.htmlkin.io.. If the answer is still old, ask a public resolver directly: dig @1.1.1.1 example.com A +short. If it shows the new value, the record is fine, and your local resolver or ISP is still serving its cache.
On Windows, use nslookup example.com, or an online checker such as dnschecker.org, which shows answers from resolvers around the world.
Once DNS answers with our address, the TLS certificate is issued automatically on the first visit to the domain. If the first visit shows a certificate warning, wait a minute and reload.
Common errors and how to fix them
If the record is in place but the site doesn't load, the cause is almost always one of these six. Check the table before you contact support.
| Symptom | Cause | Fix |
|---|---|---|
| The registrar's parking page opens | An old parking A record or URL redirect is still there | Delete the extra record on @ |
| Dashboard says "DNS mismatch" on Cloudflare | Proxy status is Proxied (orange cloud) | Switch the record to DNS only |
| Changes have no effect at all | The domain uses other nameservers | Edit records where the nameservers point |
| Works for a colleague, not for you | Resolver or ISP cache | Wait out the TTL, check with dig @1.1.1.1 |
| Certificate error | First visit came before the TLS certificate was issued | Reload the page in a minute |
Domain points to example.com.example.com |
Full name typed in the host field | Enter only the left part, or @ |
From our experience: caching is the most frustrating part. One user changed the record at 2:17 p.m., and a caching resolver kept serving the registrar's parking page until 12:22 p.m. the next day: just over 22 hours, with a one-day TTL. The domain was set up correctly from the first minute. That's why it pays to lower the TTL to 5 minutes before you change the record, and raise it again once everything works.
FAQ
What's the difference between an A record and a CNAME?
An A record points to an IP address; a CNAME points to another domain name. The bare domain (example.com) needs an A record, because a CNAME at the zone apex is forbidden by the DNS standard. For subdomains, a CNAME is more reliable: it keeps working when the service changes its IP.
How long does it take for an A record to start working?
Namecheap quotes about 30 minutes, GoDaddy usually under an hour. Add the cache lifetime on top: if the old record had a TTL of one day, some resolvers will keep serving it almost as long. A nameserver change can take up to 24–48 hours.
Can I use a CNAME for the bare domain without www?
Only if your DNS provider supports a workaround. Standard DNS doesn't allow it: the apex must hold SOA and NS records, and a CNAME can't coexist with other records (RFC 1912 §2.4). Cloudflare's CNAME flattening and ALIAS/ANAME records at providers like Namecheap get around it. On GoDaddy, use the A record.
Do I need to verify domain ownership separately?
No. Pointing the domain's DNS to our address is itself proof that you control the domain, so there are no verification files or TXT records. Only someone with access to the domain can change its DNS zone. The certificate authority checks the same fact when it issues the TLS certificate automatically.
Do I need to buy an SSL certificate?
No. The certificate is issued automatically and for free; there's nothing to buy or upload. It appears once DNS answers with our address, on the first visit to the domain. This works for both bare domains and subdomains.
My domain is at another registrar. What do I do?
The logic is the same everywhere: find the DNS editor and add a record with the same values, taking the type, host and value from your dashboard. Only the field names differ. On Squarespace Domains, for example, records go under DNS → DNS Settings → Custom records, and the host field is called Name. The value may be labeled IP Address, Points to, Content or Data.
How many domains can I connect to one account?
The limit counts hosts and equals the plan's site limit: Free, 1; Pro, 10; Business, unlimited. Each subdomain takes its own slot: example.com and www.example.com are two different hosts. Keep that in mind if you want the address to work both with and without www.
Key points
- The setup comes down to one record. Bare domain: an A record with host
@and the IP from your dashboard. Subdomain orwww: a CNAME toproxy.htmlkin.io. - Always take the values from your dashboard: the IP can change, and any guide, this one included, can go out of date.
- On GoDaddy and Namecheap, delete the default parking records on
@andwww. On Cloudflare, set the record to DNS only. - Lower the TTL to 5 minutes before you change anything, so you don't wait a day for caches to expire.
If your page isn't published yet, start with how to host a website made with ChatGPT or Claude or how to share an HTML file as a link.
Sources
- Add an A record — GoDaddy Help, retrieved October 19, 2026
- How can I set up an A (address) record for my domain? — Namecheap Knowledgebase, retrieved October 19, 2026
- Manage DNS records, Proxy status and CNAME flattening — Cloudflare DNS docs, retrieved October 19, 2026
- DNS records for web hosting — Squarespace Help, retrieved October 19, 2026
- RFC 1912: Common DNS Operational and Configuration Errors, §2.4 — IETF
- CNAME at the apex of a zone — ISC



