Free open source tool

redirect-map-lint

Validate a store migration redirect CSV before import: chains, loops, duplicate sources, self-redirects and homepage dumping, with chains collapsed to final destinations automatically. Outputs a fixed CSV and a report.

View source on GitHub

Run redirect-map-lint in your browser

Runs fully in your browser, files never leave your device.

Drag and drop your redirect CSV here, or use the picker below.

A warning fires when more than this share of targets point at the homepage (/).

What it does

Redirect chains detected and collapsed, so every source points at the final destination
Loops, including two-node loops and longer cycles, excluded from the fixed CSV with a reason
Duplicate sources split into exact duplicates and conflicting duplicates, and conflicting rows are excluded
Self-redirects and normalisation collisions, where case, a trailing slash or percent encoding makes different looking sources resolve to the same path
Homepage dumping warning when the share of targets pointing at / passes a configurable threshold, 30 percent by default

Install and usage

Requires Node.js 20 or later. There are no dependencies to install.

git clone https://github.com/aamirtechs/redirect-map-lint.git
cd redirect-map-lint
node src/cli.js examples/redirects.csv --out-dir output

Input is a two column CSV with source and target headers (from/to and old/new are also accepted, and a headerless file is read as source then target). Output is fixed-redirects.csv and report.md. Fully offline, no network calls.