You can keep the default randomised, private URL or make your app public and choose a human-readable URL.
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
You can modify the part before
If you’re on a paid plan, you can use a domain name of your choice, replacing
anvil.app with your own domain.
To use a custom domain, create a DNS
A record pointing your domain to
18.104.22.168, 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.