Redirect Plan Tester

Redirect Plan Tester

Simulate ordered redirect CSV rules against only your supplied sample URLs. No live requests, status checks or deployment configuration are produced.

Required: from,to,status. Optional: query. Up to 200 rules and 1 MiB CSV. from/to must be absolute HTTP(S) URLs. Status: 301/302/303/307/308. Query: preserve/drop/replace (blank means preserve). Sources support exact paths or one trailing /*. The first matching CSV rule wins.

Use 1–200 samples, 500,000 characters total and 2,048 characters per URL. Fragments are unsupported. Each sample has a 30-hop bound; a generated URL over 2,048 characters stops only that sample.

Paste CSV or choose a file.

Comments & questions

Redirect Plan Tester

Moving old URLs can produce unexpected destinations when ordered rules overlap or queries are handled differently. This tool applies its explicit exact/prefix contract to supplied samples and shows each selected rule, declared status and hop. Its normalized output is review CSV, not Apache/nginx configuration or proof that every possible URL is safe.

Key features

  • First matching CSV rule wins at each simulated hop
  • Exact paths or one trailing /* source prefix and one target capture
  • Explicit preserve, drop and replace query policies
  • Per-sample paths, overlaps, loops, conflicts and bounded failures
  • Differentiate identical and conflicting source rules while retaining record evidence
  • Export results CSV, complete JSON and conditionally normalized-plan CSV

How to use

  1. Enter ordered rules with from,to,status and optional query columns.
  2. Enter representative absolute sample URLs, one per line.
  3. Run the simulation and inspect each sample’s stopping point and outcome.
  4. Review applied order, overlaps, queries and cross-origin moves in detailed paths.
  5. Add samples for unapplied rules and save reports or normalized review-plan CSV as needed.

Use cases

  • Check path-prefix migrations and exception ordering before a move
  • Test whether tracking queries should be retained or discarded
  • Find conflicting mappings for the same old URL
  • Check whether a proposed single redirect becomes a chain or cycle

Frequently asked questions

Do passing samples prove the whole rule set has no loops?

No. Only supplied samples are evaluated. neverSelected lists representative rules not applied to those samples; non-reachability, precedence or conflicts may explain it. Add separate samples for untested rules. Whole-rule-set safety and deployment compatibility are not guaranteed.

Do exact rules beat wildcard rules?

CSV order wins, regardless of rule type. The first matching rule is applied and overlapping record numbers are shown. Sources support one trailing /*, whose remaining path is inserted literally into one optional target-path *. Regex rules are unsupported.

How are query strings handled?

preserve uses the target query when present, otherwise the current input query. drop removes all query text, including a query written in the target. replace uses exactly the target query. A source query must match in full and in order; a source with no query accepts any query.

Are the displayed status codes live HTTP responses?

They are 301, 302, 303, 307 or 308 values declared in the CSV. Requests, responses, method preservation and indexing are not checked. A stopping point means no further rule matched, not that the page exists or returns 200.

Can normalized-plan CSV be deployed directly?

No. It uses this tool’s from,to,status,query review format, not Apache/nginx syntax. Server-specific matching and query behavior are not verified. Conflicting rules or sample loops, conflicts, hop limits and URL-length failures block this export.

What are the bounds and URL normalization rules?

Use up to 200 rules and 200 samples, with 30 hops per sample. Raw and generated URLs are limited to 2,048 characters; a generated-length failure stops only that sample. Standard HTTP(S) URL serialization is used, while path case, query order, encoding and trailing slashes are not arbitrarily unified. Fragments are rejected.

Privacy

Rules and sample URLs are processed in browser memory without visiting those URLs. Input is not sent to servers, analytics, URLs or browser storage, and is not saved automatically. Selected CSV and pasted text use the same local checking path. Files are created only when you request a download.

References

Related Tools

Canonical Graph AuditorURL EncoderHTTP Status Code LookupWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →