Whenever a new Deployment is created, Vercel will automatically generate a new unique URL under which you can access it. This URL is called the Automatic Deployment URL and looks like this:


Under this URL, you will forever be able to access that particular Deployment. It will never cease to exist, and can therefore be used as part of a revision history.

It is composed of the following pieces:


If needed, you can read more about the individual URL components.

Furthermore, to make it easier for you to find the Deployment you're looking for, the platform also assigns other types of Automatic URLs that resolve to an Automatic Deployment URL under the hood.

All of the URLs mentioned below have one thing in common: They resolve to the most recently created Deployment within a list of Deployments that share a property. This property could either be the Git Branch, the Project, or the Author:

If you've connected your Vercel Project to a Git repository, this URL will automatically be assigned every time you push a new commit to a branch.

It looks like this:


And it is composed of the following pieces:


If needed, you can read more about the individual URL components.

To make it easy for you to access, it will then be exposed on the respective commit, or pull request, if one was created for that branch (check out Vercel for GitHub as an example).

The URL always points to the most recent successful Deployment within the branch, so you never have to visit a new URL if a new commit is pushed to the branch. Instead, you can simply refresh the URL you're already looking at.

It's particularly useful for applications that require login, as you can then tie the user session to the Automatic Branch URL, and people that are looking at your Deployments will not have to log in again if new changes are pushed.

Overall, this allows for a seamless experience when viewing Preview Deployments, before they are served to visitors and become Production Deployments.

This type of URL is only applied to Deployments created via Git.

If you're creating Deployments using Vercel CLI, the only Automatic URL provided to you by default is the Automatic Deployment URL mentioned above.

By passing the --target staging or --staging option to the command for deploying, however, you will also receive an Automatic Project URL, which can be used for the same purpose as the Automatic Branch URLs mentioned above: Following the latest update on a particular set of changes, before serving the changes to visitors in Production.

It looks like this:


And it is composed of the following pieces:


If needed, you can read more about the individual URL components.

Specifically, if you'd like others to stay on top of which change is the latest one within the Project, without actually influencing what is delivered to visitors, you can use this URL.

If you're invoking Vercel CLI from an automated system, you can also use the aliasing command to assign Domains for previewing.

This type of URL is only applied to Deployments created via Vercel CLI.

If the case described above applies and the Deployment is created on a Team, the platform will also assign an Automatic URL that is specific to the author of the Deployment.

It looks like this:


And it is composed of the following pieces:


If needed, you can read more about the individual URL components.

Similar to the other Automatic URLs mentioned above, this allows for easily staying on top of the latest change deployed by a particular Member of a Team, within a particular Project.

Automatic URLs enable you to preview changes before serving them to visitors.

Nevertheless, all of them are also applied to Production Deployments. This happens regardless of whether you've instructed the platform to assign them, or not (for example, even if you don't pass --staging for Automatic Project URLs), because the following heuristic applies:

If a Production Deployment is created, it is assumed that it was previously previewed, so any sort of "staging" system has to be updated to reflect the latest changes too.

Each of the Automatic URLs shown above is comprised of several different pieces of data that are associated with the underlying Deployment.

The following pieces of information are used by the different types of Automatic URLs explained in the sections above:

  • <project-name>: The name of the Project that contains the Deployment.
  • <unique-hash>: 9 randomly generated numbers and letters.
  • <scope-slug>: The slug (not the name) of the Personal Account or Team that contains the Project/Deployment.
  • <branch-name>: The name of the Git branch to which the Deployment was created.
  • <author-name>: The username of the Personal Account belonging to the Team Member that created the Deployment.

If your <project-name> resembles a regular web domain, then it may be shortened to avoid that resemblance. For example www-company-com would be changed to just company. This is done to avoid accidentially triggering anti-phishing protection build into web browsers that protect the user from visiting domains that look roughly like other domains they visit.

If more than 63 characters are present before the .vercel.app suffix (or the respective Preview Deployment Suffix) for an Automatic URL, they will be truncated.

For example, this is what an Automatic Branch URL could look like:


The truncation happens through taking away from the end of this list of characters until only 56 of them remain.

Afterwards, the first 6-characters of a SHA-256 hash of a prefix, the Git branch, and the Project name preceded by a dash (like -ar63fm) will be appended at the end, to avoid collision with other Automatic URLs that may also be truncated.

The prefix of the hash will either be git-, or git-fork- if the Deployment was created through a fork. In the end, the hash creation might look like this:

const prefix = isFork ? 'git-fork-' : 'git-';
sha256(prefix + branch + projectName).slice(0, 6);

This means that, once the truncation is complete, the list of characters will be exactly 63, and therefore comply with the limit.

Lastly, if a Preview Deployment Suffix is configured and the entire Automatic URL exceeds 253 characters, the same truncation as mentioned above applies, but instead of 63 characters, the length limit will be 253 minus the length of the Preview Deployment Suffix plus 1 (for the period that precedes the Preview Deployment Suffix).

For example, if the Domain acme-previews.com is configured as the Preview Deployment Suffix, that Domain has a length of 17, so including the preceding ., the character limit that would apply before the suffix is 18.

If you'd like to customize the appearance of any of the Automatic URLs mentioned above, you can enable the Preview Deployment Suffix feature available in the Team Settings.

As you can see above, every Automatic URL ends in vercel.app. With the feature shown here, you can replace this suffix with any Custom Domain of your choice:

Selecting a custom value for the Preview Deployment Suffix feature.

Any Custom Domain that is entered must be:

  • Available and active within the Team that enabled the Preview Deployment Suffix
  • Using Vercel's Nameservers

To enable the feature, make sure that your Team is on the Pro or Enterprise plan, type the custom domain of your choice in the input, and click Save. The next Deployment will use the new Preview Deployment Suffix.

Not available

To disable the feature, clear the input, then click Save. The next Preview Deployment will revert back to the default vercel.app suffix.