---
title: Does Vercel support permanent redirects?
description: Information on Vercel's support for permanent redirects.
url: /kb/guide/does-vercel-support-permanent-redirects
canonical_url: "https://vercel.com/kb/guide/does-vercel-support-permanent-redirects"
published: 2025-11-03
last_updated: 2025-11-10
authors: Sam Ko
related:
  - /docs/custom-domains
  - /docs/configuration
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---
<!-- docsgraph:related -->
## Related pages

> **For AI agents:** Follow these links to understand how this page connects to the rest of the Vercel ecosystem. For the full cross-link map (inbound, outbound, prerequisites, and semantic neighbors), see the .graph.md link below.

- [Configuration Redirects](https://vercel.com/docs/routing/redirects/configuration-redirects?from=related) — Learn how to define static redirects in your framework configuration or vercel.json with support for wildcards, pattern
- [Redirects](https://vercel.com/docs/routing/redirects?from=related) — Learn how to use redirects on Vercel to instruct Vercel's platform to redirect incoming requests to a new URL.
- [Deploying & Redirecting Domains](https://vercel.com/docs/domains/working-with-domains/deploying-and-redirecting?from=related) — Learn how to deploy your domains and set up domain redirects with this guide.
- [Manage Redirects at Scale](https://vercel.com/docs/routing/redirects/manage-redirects-at-scale?from=related) — Add, bulk upload, version, and roll back project-level redirects using the CLI.
- [vercel redirects](https://vercel.com/docs/cli/redirects?from=related) — Learn how to manage project-level redirects using the vercel redirects CLI command.
- [redirects](https://nextjs.org/docs/pages/api-reference/config/next-config-js/redirects?from=related) — Add redirects to your Next.js app.
- [How do I perform Vercel redirects based on query strings?](https://vercel.com/kb/guide/how-do-i-perform-vercel-redirects-based-on-query-strings?from=related) — When using redirects with the \`vercel.json\` or \`next.config.js\` configuration file, your URL may contain query param
- [How can I increase the limit of redirects or use dynamic redirects on Vercel?](https://vercel.com/kb/guide/how-can-i-increase-the-limit-of-redirects-or-use-dynamic-redirects-on-vercel?from=related) — Instructions on how to use Serverless Functions to handle redirects on Vercel.
- [Dynamic redirects with Global Config and Next.js proxy](https://vercel.com/kb/guide/dynamic-redirects-with-global-config-and-next-js-proxy?from=related) — Learn how to create redirects that update instantly without redeploying by storing rules in Global Config and reading th
- [Emergency Redirect](https://vercel.com/kb/guide/emergency-redirect?from=related) — Learn how to implement an emergency redirect without re-deploying your site.
- [Can I use Vercel as a reverse proxy?](https://vercel.com/kb/guide/vercel-reverse-proxy-rewrites-external?from=related) — Learn how to use rewrites to proxy requests from Vercel to other deployments.

Full cross-link map for this page: [/kb/guide/does-vercel-support-permanent-redirects.graph.md](/kb/guide/does-vercel-support-permanent-redirects.graph.md)
<!-- /docsgraph:related -->


The Vercel platform supports both [301 permanent redirects](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301) and [308 permanent redirects](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308). Both **permanent** redirects are supported for [domain redirects](https://vercel.com/docs/custom-domains#redirecting-domains) and in-application paths.

This article covers how to achieve either a **permanent** or **temporary** redirect with domain redirects or in-application paths.

## Domain Redirects

To add a domain redirect, simply click the **Edit** button on a domain from your project's **Domain** settings.

A domain redirect can be **temporary** or **permanent** by specifying a status code. For more information about the different redirect status codes, you can check out our [**Redirect Status Codes**](https://vercel.com/docs/custom-domains#redirecting-domains) documentation.

## In-Application Redirects

To add an in-application redirect, you can use either a [`next.config.js`](https://nextjs.org/docs/api-reference/next.config.js/redirects) configuration file for Next.js projects, or a [`vercel.json`](https://vercel.com/docs/configuration#project/redirects) configuration file for all other use cases.

### Next.js Redirects

```javascript
module.exports = {
  async redirects() {
    return [
      {
        source: '/about',
        destination: '/',
        permanent: true,
      },
    ]
  },
}
```

The `permanent` property is a boolean to toggle between **permanent** and **temporary** redirect (default true). When true, the status code is 308. When false the status code is 307.

### Other Redirects

```json
{
  "redirects": [
    { 
      "source": "/view-source",
      "destination": "https://github.com/vercel/vercel", 
      "permanent": true
    }
  ]
}
```

Similar to a `next.config.js` file, the `permanent` property is a boolean to toggle between **permanent** and **temporary** redirect (default true). When true, the status code is 308. When false the status code is 307.

In rare cases, you may need to assign a custom status code for older HTTP Clients to properly redirect. You can use the `statusCode` property instead of the permanent property, but not both.

```json
{
  "redirects": [
    { 
      "source": "/view-source",
      "destination": "https://github.com/vercel/vercel", 
      "statusCode": 301
    }
  ]
}
```