1. Home
  2. Developer tools
  3. Redirect Generator

Redirect Generator

Move pages or migrate a site without losing visitors and search rankings, by turning a spreadsheet of old and new URLs into server rules.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use Redirect Generator

  1. Paste one redirect per line: old path, new path, optional status code.
  2. Choose the server or host.
  3. Copy the rules into the config file.

Features

  • Nginx, Apache, vercel.json, Netlify, Cloudflare Pages and Caddy
  • Wildcards: /docs/* with :splat in the target
  • 301, 302, 307 and 308 per rule
  • Finds redirect chains, loops and duplicate sources
  • Accepts spaces, tabs or commas, so spreadsheet columns paste in

Supported formats

You can open

  • TXT
  • CSV
  • TSV

You get

  • CONF
  • HTACCESS
  • JSON

Private by design

Your files are opened and processed by your browser on this device. They are never uploaded to openWorkstand or anyone else, so the Redirect Generator is safe for contracts, IDs, photos and work documents. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • Query strings are not matched separately; rules match the path.
  • Regex redirects beyond a trailing * wildcard must be written by hand.

Guide

Bulk redirects for Nginx, Apache, Vercel, Netlify, Cloudflare and Caddy

When pages move, every old URL needs to point at its new home, or visitors land on errors and search engines drop the ranking the old pages earned. Site migrations often involve dozens or hundreds of URLs kept in a spreadsheet, and each server spells redirect rules differently. This generator turns the list into rules for six common servers and hosts, and checks it for mistakes first.

Choosing the status code

301 Moved Permanently and 308 Permanent Redirect tell browsers and search engines that the move is final; 302 Found and 307 Temporary Redirect say it is temporary. The 30x pairs differ in how they treat the request method: 301 and 302 allow a client to turn a POST into a GET, while 307 and 308 must repeat the same method with the same body. For page moves, 301 is the usual choice; for API endpoints and form targets, 308 or 307 are safer.

The input format

Write one redirect per line: the old path, the new path or full URL, and optionally the status code. Spaces, tabs, commas, semicolons or arrows can separate them, so two columns copied from a spreadsheet paste in directly. Lines starting with # are comments. A source ending in * is a wildcard that matches everything below it, and :splat in the destination inserts what it matched, so /docs/* /help/:splat moves a whole section.

How each target writes rules

For Nginx, exact paths become location = /old { return 301 /new; } and wildcards become a regex location that returns the code with $1. Apache uses Redirect 301 /old /new for exact paths and RewriteRule with [R=301,L] for wildcards. vercel.json gets a redirects array with source, destination and permanent, using :path* for wildcards. Netlify and Cloudflare Pages share the _redirects format of source, destination and code on one line. Caddy uses redir, with a named path_regexp matcher for wildcard rules.

Checks before you deploy

The tool warns about sources that do not start with a slash, a source listed twice, where only one rule can apply, and a page redirected to itself, which loops forever. It also detects chains: if /a goes to /b and /b to /c, it suggests pointing /a straight at /c, saving visitors a round trip and keeping crawlers from giving up.

A worked example

The Sample list has seven redirects. For Nginx, the first line becomes location = /blog/old-post { return 301 /blog/new-post; } and the wildcard /docs/* becomes location ~ ^/docs/(.*)$ { return 301 /help/$1; }. The checks report that /a → /b → /c is a chain. Switching to vercel.json turns the wildcard into "source": "/docs/:path*", and in the Caddyfile it becomes a path_regexp matcher named r3 followed by redir @r3 /help/{re.r3.1} 301.

Testing after deploying

Check each old URL with curl -sI https://example.com/old-path and look for the status line and the Location header. For a long list, script it, or crawl the old sitemap and confirm that every URL ends at a 200 page in one hop.

Limits

Rules match the path only; query strings are passed through by most servers but not used for matching. Patterns more complex than a trailing wildcard, such as rewriting the middle of a path, need hand-written regular expressions.

Checked against the current version of the Redirect Generator on .

Troubleshooting

The file does not open

Check that it is one of the supported formats above and opens in another app. Damaged files and password-protected PDFs cannot be read until they are repaired or unlocked.

It is slow or stops on a very large file

Everything runs on your device, so speed depends on its memory. Close other tabs, use a computer rather than a phone, or split the file into smaller parts first.

The download did not start

Look for your browser’s download bar or icon. Some browsers ask once before a site may download files; allow it and click the button again.

Frequently asked questions

Do redirects pass SEO value to the new page?

Google has said that permanent redirects (301 and 308) pass ranking signals, and it treats a long-standing 302 like a permanent one over time. Keep the redirects in place for at least a year, and update internal links so visitors and crawlers reach the new URL directly.

Why does Vercel show 308 when I asked for 301?

In vercel.json, permanent: true sends 308 and permanent: false sends 307. Both keep the request method, and search engines treat 308 like 301, so there is rarely a reason to need 301 itself; if you do, Vercel also accepts statusCode in place of permanent.

Should I use 301 or 308?

Both are permanent and pass ranking signals. 308 also guarantees the method is kept, so a POST stays a POST. For ordinary page moves 301 is the common choice; use 308 for API endpoints that receive forms or JSON.

Why fix redirect chains?

Each hop costs a round trip for visitors, and crawlers may stop following after several hops. Point every old URL straight at the final destination.

Keep working with the result

After you download, choose “Save to Workstand” to keep the result in a folder on your computer, attach it to a project and create a follow-up task. It is saved by your browser, not uploaded.