Your Vercel redirect list, editable from a UI. Load the live list, change it, publish it back - no config file, no redeploy.
The tab loads the live list from Vercel when you open the project, and Refresh reloads it. Everything you do after that - adding, importing, removing - happens locally, and an Unpublished changes badge appears while your list differs from what is live.
Publish writes the list to Vercel. It publishes the whole list, not just your edits, so a redirect you removed is genuinely deleted on publish. The publish button is disabled while there is nothing to publish.
Refreshing before you publish discards local changes in favour of the live list, so publish first if you want to keep them.
/, no spaces, no double slashes, up to 2048 characters./ or a full http(s) URL, with the same length and spacing rules.Validation runs as you type and again when you leave a field. Errors in red block the add; warnings in orange do not. An identical source and destination is treated as an error, since it is a redirect loop, and a duplicate source is rejected against the rows already in the list.
Vercel matches paths case-insensitively by default and stores them lowercased. If your paths contain uppercase characters and that matters, tick Match case exactly before adding them - the setting is recorded on each redirect as you add it, and rows added while it was off keep the old behaviour. A warning appears on any path with uppercase characters while the box is unticked.
Expand BULK IMPORT and paste rows from a spreadsheet, CSV or TSV. Tab separated is tried first, then comma:
/old-path /new-path 301 /another-old /another-new 302
The status column is optional and defaults to 301. A live preview shows every parsed row with counts for valid, invalid and duplicate. Invalid rows carry the reason; duplicates are sources already in the list or repeated within the paste. Add valid rows imports only the clean ones and leaves the rest for you to fix. Imported rows still need publishing.
Rows show source, destination and status code, with new unpublished rows tagged new. Click a row to expand a long source and destination onto separate lines. Remove appears on hover and deletes locally until you publish.
The filter box narrows the view by source or destination. It is a view filter only, so publishing while a filter is active still publishes the entire list.
%20.Vercel project ID and token, plus the Vercel team ID - Vercel's bulk redirects API is team scoped, so publishing fails with a message asking for it if the field is empty.