You can give your app a randomised, private URL or choose a human-readable URL to make your app public.
Your app is automatically published to a private URL of the format:
<private_key> has sufficient entropy to be unguessable.
To see the private URL, click on ‘Publish app’ in the Gear Menu in the App Browser:
You can regenerate the
<private_key> part by clicking the ‘Reset Link’ button in the Publish App dialog. This
ensures anybody who has previously been given the private link can no longer see the app, unless you share the new
link with them.
To publish an app publicly, click on ‘Share via public link’:
By default, your app is assigned an auto-generated hostname composed of three words followed by
If you are on a paid plan, you can modify the part before the
or use a domain name of your choice, replacing the
anvil.app with your own domain.
To use a custom domain, create a DNS
A record pointing your domain to
22.214.171.124, and enter your domain in the
box provided in the Publish App dialog.
If you wish to use a subdomain of the domain you purchased (such as
app.mydomain.com), you can simply configure an
A record pointing that subdomain
to the IP address above. To configure a subdomain, just enter the subdomain in place of the
@ symbol when configuring the
If you want to use
www.mydomain.com as well as
mydomain.com, you can configure a second
A record for
Here are some tips on using a custom domain for some common domain registrars:
Google Domains refers to the record you need to create as a ‘Custom Resource Record’.
Google Domains and Synthetic Records
In the GoDaddy DNS Management page for your domain, you can create an
A record in the ‘Records’ card:
In Cloudflare’s DNS settings tab, add an
A record in the ‘add record’ tool.
Cloudflare and SSL
The cloud icon next to the ‘add’ button toggles Cloudflare’s CDN and other features on or off. Anvil apps will work with either setting. If you’re using Cloudflare’s SSL support, you need change the SSL Support setting from ‘Flexible’ to ‘Full Strict’. See this article from Cloudflare for more info. It will take a few minutes to take effect.
You can get your app’s domain name programmatically using
This will always return the
.anvil.app domain, which guarantees to give you something that works regardless of DNS settings.
If you wish to programmatically construct URLs containing your custom domain, hard-code a constant containing your custom domain and construct URLs from that.