301 Redirect Generator

Paste your old and new URLs (from a spreadsheet, CSV or two columns) and get redirect rules for your server or platform — plus checks for chains, loops, duplicates and trailing-slash traps before you go live.

Runs in your browser
0 redirectsSeparators: comma, tab, spaces, or ->. A header row is skipped.

    

Validation

#SourceTargetStatus
Paste URL pairs to see validation results.

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the Redirect Generator

  1. Paste your redirect map — two columns copied from Excel or Google Sheets, a CSV, or lines like /old -> /new. Full URLs are fine; the domain is stripped from sources automatically.
  2. Choose the output format for your platform and the status code (301 for permanent moves).
  3. Review the Validation table for duplicates, loops and chains. Click Resolve chains to point every old URL straight at its final destination.
  4. Copy or download the rules and deploy them. After launch, spot-check a few with the Redirect Checker.

What is a 301 redirect?

A 301 redirect is an HTTP response that tells browsers and search engines a URL has moved permanently. Visitors land on the new address automatically, and Google transfers the old URL’s ranking signals to the new one. Redirects are the single most important task in a site migration — a redesign, a move to Webflow, a domain change or a URL restructure — because every old URL that returns 404 loses its backlinks and traffic.

301, 302, 307 or 308?

CodeMeaningUse it when
301Moved permanentlyThe default for migrations and changed slugs.
308Permanent, keeps the HTTP methodEquivalent to 301 for SEO; used by default by Next.js and Vercel.
302 / 307TemporaryShort-term moves, A/B tests, maintenance pages. Google keeps the old URL indexed.

Platform notes

  • Webflow: add redirects in Site settings › Publishing › 301 redirects, or import a CSV there. Source paths must start with / and contain no domain; targets can be paths or full URLs. Importing a CSV replaces all existing redirects, so export the current list first and merge it — and remember to publish.
  • Apache: Redirect 301 /old /new (mod_alias) matches by prefix, so /old also redirects /old/anything. The RewriteRule format matches exact paths and is safer for large maps.
  • Nginx: location = /old { return 301 /new; } matches one exact path. For thousands of URLs, a map block is faster to maintain.
  • Netlify, Vercel, Next.js: rules are checked in order; Vercel and Next.js use 308/307 when you set permanent, so the generator sets statusCode explicitly when you choose 301 or 302.
  • Cloudflare Bulk Redirects: the CSV has no header row; source URLs are written without the scheme and cannot contain query strings.

Problems the validator catches

  • Chains (A → B → C): each hop wastes crawl budget and slows users. Point A straight at C.
  • Loops (A → B → A, or A → A): the browser gives up with “too many redirects”.
  • Duplicates and conflicts: the same source listed twice, possibly with different targets — only one rule can win.
  • Query strings in sources: most simple redirect syntaxes ignore them, so /page?id=5 won’t match as written.
  • Trailing slashes: /about and /about/ are different URLs to most servers. Matching both avoids 404s from old links.

Before switching DNS, crawl the old site with the Website Crawler or export its sitemap to make sure every indexed URL has a destination.

Tools that pair well with the Redirect Generator

  • HTTP Header Checker — Fetch any URL and see exactly what the server sends back — status code, redirect chain and every response header, with a plain-English explanation of the ones that matter for SEO, caching and security.
  • Broken Link Checker — Enter a page URL and every link on it — plus images, scripts and stylesheets if you like — is tested live, so you can fix 404s and redirect hops before visitors or Google run into them.
  • Sitemap Generator — Crawl your website and get a clean sitemap.xml containing only pages that deserve to be indexed — 200 status, no noindex, self-canonical — with every excluded URL and the reason listed.
  • UTM Builder — Add utm_source, utm_medium, utm_campaign and friends to any link, see which GA4 channel the visit will land in, and tag a whole list of URLs at once.

Frequently asked questions

How do I bulk import redirects into Webflow?
Choose the “Webflow (CSV import)” format, download the CSV and import it in Site settings › Publishing › 301 redirects. The import overwrites existing redirects, so export and merge your current ones first, then publish the site.
Do 301 redirects lose SEO value?
Google has confirmed that 301, 302 and 308 redirects do not lose PageRank. What hurts is redirecting to irrelevant pages (such as everything to the homepage), long chains, and removing redirects too early — keep them for at least a year.
Should I redirect all old pages to the homepage?
No. Google treats mass redirects to the homepage as soft 404s. Redirect each old URL to the most relevant new page, and let truly obsolete pages return 404 or 410.
What is a redirect chain?
A chain is when one redirect leads to another, e.g. /a → /b → /c. Use “Resolve chains” to rewrite /a to point directly at /c.
Can I redirect URLs with query strings?
Most simple formats can’t match query strings. Use an Apache RewriteCond on %{QUERY_STRING}, Netlify’s query parameter matching, or an edge rule. The validator flags sources containing “?”.

Related tools