Zero Signup ToolsFree browser tools

SEO Tools

Netlify Redirects Tester

Test a Netlify _redirects file against any URL. See which rule matches, the destination, status, redirect chain, loops, and shadowed rules.

_redirects file

Paste your Netlify or Cloudflare Pages _redirects body.

4 rules parsed

URLs to test

One URL or path per line. Paths like /blog/post or absolute URLs (the host part is ignored). Up to 50 lines.

Optional request context

Used to evaluate Country, Language, Role, and Cookie conditions. Leave blank to ignore conditional rules.

Summary

Redirects

4

Rewrites

0

No match

1

Loops

0

404 / 410

1

Too many hops

0

Plain-text report for tickets or PRs.

Results

  • /blog/launch-day

    Redirect 301
    1. /blog/launch-day/posts/launch-day301

      Rule on line 2: /blog/*

    2. /posts/launch-dayNo further rule matches.

    Final destination is /posts/launch-day with status 301.

  • /blog/2024/05/news.html

    Redirect 301
    1. /blog/2024/05/news.html/posts/2024/05/news.html301

      Rule on line 2: /blog/*

    2. /posts/2024/05/news.htmlNo further rule matches.

    Final destination is /posts/2024/05/news.html with status 301.

  • /about

    Redirect 301
    1. /about/company/about301

      Rule on line 3: /about

    2. /company/aboutNo further rule matches.

    Final destination is /company/about with status 301.

  • /contact

    External 302
    1. /contacthttps://help.example.com302

      Rule on line 4: /contact

    The browser is sent to https://help.example.com with status 302.

  • /legacy

    410 Gone
    1. /legacy/410

      Rule on line 5: /legacy

    The destination URL is marked permanently gone.

  • /missing

    No match
    1. /missingNo rule matches this URL. Netlify would serve the static file or your SPA fallback.

    No rule fired. Netlify will serve the matching static file, or fall through to your SPA index if one is configured.

How to use

  1. Paste the body of your _redirects file into the rules input on the left, or click a sample (basic migration, SPA fallback, rewrite, country-conditional, or chain/loop/shadow).
  2. Paste the candidate URLs to test (one path per line, like /blog/launch-day) into the URLs input below. Absolute URLs are accepted and the path part is used for matching.
  3. If your rules use Country, Language, Role, or Cookie conditions, fill in the optional request context fields. Leave them blank to ignore conditional rules.
  4. Read each result card on the right: the verdict badge (Redirect 301, Rewrite 200, No match, Loop, 410 Gone, and so on), the matched rule and line number, the destination after :splat and :param substitution, and the full hop trace for chained redirects.
  5. Use Copy report to grab a plain-text trace for a pull request, code review, or migration ticket. Fix any rule the parser flags as an error or warning, then re-run.

About this tool

Netlify Redirects Tester emulates Netlify's documented _redirects engine in your browser. Paste the body of a _redirects file (the same syntax Cloudflare Pages uses), then paste one or more candidate URLs. For each URL the tester walks the rules in order, picks the first match, and reports what would actually happen on a live deploy: the matched rule and its source line, the destination after :param and :splat substitution, the effective status code (301, 302, 303, 307, 308 for browser redirects, 200 for in-place proxy or SPA fallback rewrites, 404 for a custom not-found body, 410 for permanently gone), and the full hop trace when one redirect points at a URL that is itself redirected by another rule. A loop detector trips when a hop returns to a URL the chain has already visited, so you can see exactly which rule closes the cycle before you ship a broken deploy. A shadow detector flags later rules whose source is already covered by an earlier unconditional rule and that therefore never fire. The parser understands every part of the documented grammar: comments starting with #, path patterns with literal segments, wildcard * captured into :splat, named :param captures used in the destination, forced rules with a trailing !, and conditions (Country, Language, Role, Cookie) where multiple values are comma-separated OR and multiple keys are AND. The optional request context fields (Country, Language, Role, Cookie) let you evaluate conditional rules without spinning up a real deploy: leave them blank to ignore conditional rules entirely, or set them to see how a French visitor or a logged-in editor would actually be routed. The grammar checks also catch the small mistakes that survive into production: destinations using :splat without a wildcard source, destinations using a :param the source never captures, source paths missing a leading slash, status codes outside Netlify's documented set, and source-equals-destination rules that are no-ops or one-line infinite loops. Everything runs locally on your device; the rules file, the candidate URLs, and the request context never leave the browser tab.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsSEO Tools