Custom domain for Vercel
Last updated: September 25, 2026
Vercel serves your project on <project>.vercel.app. A free OpenRepos subdomain gives it a permanent address; Vercel issues the certificate once the domain is assigned to the project.
Before you start
- A Vercel project with a production deployment (the free plan is enough).
- A public GitHub repository with a LICENSE — OpenRepos serves open source projects only.
- The OpenRepos badge in your README: CI checks it on every new claim.
1. Claim your subdomain
Pick a free name with the domain picker, then add it to register.json under the domain you chose:
"openrepos.org": {
"awesome-project": {
"repo": "https://github.com/octocat/awesome-project",
"target": "awesome-project.vercel.app"
}
}Use your project's production hostname (<project>.vercel.app) or cname.vercel-dns.com; both are allowlisted. If Vercel shows a TXT record for _vercel when you add the domain, include it in the claim:
"txt": {
"name": "_vercel",
"value": "vc-domain-verify=awesome-project.openrepos.org,<hash>"
}2. Add the domain in Vercel
In your Vercel project open Settings → Domains → Add domain, enter your OpenRepos subdomain (for example awesome-project.openrepos.org) and confirm.
Vercel checks the CNAME that OpenRepos already created. If Vercel instead shows a Verify step with a TXT record, add that record to your claim as above, merge it, and press verify.
Vercel's own DNS instructions will mention a CNAME — you do not need to add it yourself; the OpenRepos claim creates exactly that record.
3. Verify the certificate
Once the domain is valid, Vercel issues the TLS certificate automatically. Open https://awesome-project.openrepos.org — the padlock should appear within minutes, occasionally a little longer while the certificate propagates.
Troubleshooting
- "Invalid Configuration" — DNS does not point at Vercel yet. Check
dig awesome-project.openrepos.org CNAME; it should return yourvercel.apphost orcname.vercel-dns.com. - 404 DEPLOYMENT_NOT_FOUND — DNS is fine but the domain is not assigned to the project, or there is no production deployment. Assign it under Settings → Domains.
- A TXT verification prompt — the domain is in use on another Vercel account. Add the
txtfield to your claim (M5-7 support), then verify. - TLS error — the certificate is still being issued; wait a few minutes, then reload. Do not remove and re-add the domain.
Frequently asked questions
When does Vercel ask for a TXT record?
Vercel requires TXT verification when the domain is already in use on another Vercel account. If Vercel shows a TXT record for _vercel, add it to your claim as the txt field and DNS sync creates it automatically.
Which target should I use: *.vercel.app or cname.vercel-dns.com?
Both are allowlisted. The project's own <project>.vercel.app hostname is the simplest choice; Vercel also accepts cname.vercel-dns.com as the CNAME target.
Who issues the certificate?
Vercel does, automatically, once the domain is assigned to the project and the DNS record is correct. There is no certificate setting to enable.
Why does my domain show 404 DEPLOYMENT_NOT_FOUND?
The DNS is right but the domain is not assigned to the project (or the project has no production deployment). Add it under Project → Settings → Domains and redeploy if needed.
Next steps
See all guides for other providers, or compare free subdomain services. Stuck? Open an issue in the register repository.