Each deployed site can have its own domain, which can be Appwrite-generated or custom. You can use this domain to consume web apps deployed on Appwrite Sites. Appwrite generates TLS certificates to enforce HTTPS on all Appwrite Sites domains. These domains are safe to use and access in production.
Learn about Sites development >
Generated domains
Each site automatically receives a unique Appwrite-generated domain that's ready to use immediately.
In the Appwrite Console's sidebar, click Sites.
Under the Domains tab, you'll find the domain generated by Appwrite.
The domain usually has this format:
https://64d4d22db370ae41a32e.appwrite.network
Branch and Commit URLs
Additional to the site URL, Appwrite also generates a URL for the branch and commit that your site has been deployed from. The branch URL will remain consistent for all deployments made for code pushed to a specific branch, whereas the commit URL will be updated every time a new deployment is made via the Git integration (i.e. when code is pushed to your repo).


To find the branch and commit URLs of any deployment, follow these steps:
Navigate to your site on Appwrite Console.
Head to the Deployments tab and click on any deployment.
In the Domains section, click on the +2 next to the mentioned domain.
Add a custom domain
You can add your own domain to your Appwrite site to provide a branded experience for your users. There are two ways to add a custom domain, depending on whether you're using a subdomain or an apex domain.
Add an apex domain with NS records
Apex domains (also known as root domains) are domains without a subdomain prefix, like example.com instead of www.example.com. Unlike subdomains, apex domains cannot use CNAME records due to DNS protocol limitations.
To add an apex domain:
Navigate to your site in the Appwrite Console.
Head to the Domains tab and click on Add domain.
Enter your apex domain (e.g., example.com).
Select the appropriate domain rule type (Active deployment, Git branch, or Redirect) and configure its settings. See the Domain rule types section for details.
Appwrite will provide NS record information.
Go to your domain registrar and update the NS records for your domain to point to appwrite.zone.
Return to the Appwrite Console and wait for the verification process to complete.
DNS changes can take up to 48 hours to fully propagate across the internet. During this time, your domain might not be accessible or might show inconsistent behavior.
Using Appwrite's DNS servers for your apex domain provides several benefits:
Proper SSL certificate management
Automatic DNS configuration
Secure and reliable DNS resolution
When you change your domain's NS records, you're delegating DNS management to Appwrite. This means any existing DNS records (like MX records for email) will need to be recreated in Appwrite's DNS configuration.
Note on A records
Appwrite uses a global CDN to serve your sites. To maintain flexibility and avoid tying your domain to specific IP addresses, Appwrite uses NS records for apex domains.
Learn more about Appwrite DNS server
Add a subdomain with CNAME
Subdomains (like www.example.com or app.example.com) are set up using CNAME records, which point to Appwrite's hostname.
To add a subdomain:
Navigate to your site in the Appwrite Console.
Head to the Domains tab and click on Add domain.
Input your subdomain (e.g., www.example.com).
Select the appropriate domain rule type (Active deployment, Git branch, or Redirect) and configure its settings. See the Domain rule types section for details.
Copy the specified CNAME record and add it to your domain registrar.
Return to the Site settings and wait for verification status.


DNS records can take up to 48 hours to propagate. Once verified, the domain is ready to use.
Domain rule types
When adding a custom domain to your Appwrite site, you'll need to select one of the following rule types that determine how your domain will behave:
Active deployment
Points your domain to the latest deployed version of your site. This is the most common option for production domains.
When selected, your domain will always serve the most recent successful deployment
Any new deployments will automatically be available on this domain
Git branch
Points your domain to a specific branch in your repository. This is useful for testing or staging environments.
When selected, you'll need to choose a specific branch from your connected repository
Your domain will always serve the latest successful deployment from that branch
This allows you to have different domains for different branches (e.g., staging.example.com for your staging branch)
Redirect
Forwards all traffic from your domain to another URL. This is useful for domain migrations or creating shortcuts.
When selected, you'll need to specify the destination URL
You can choose from various HTTP status codes for the redirect:
301 Moved permanently
302 Found
303 See other
307 Temporary redirect
308 Permanent redirect
Path and query parameters in redirects
When you redirect an added domain to another URL, any additional path and queries will be ignored.
For example, if a domain example.com is set to redirect to appwrite.io, example.com/docs?id=123 will also redirect to appwrite.io.