Formatters & Code
Cloudflare Bulk Redirect CSV Validator Online
Validate Cloudflare Bulk Redirect CSV files locally. Catch accidental headers, query string violations, invalid status codes, and redirect loops before upload.
Results
What the result means
Cloudflare Bulk Redirects enforce strict CSV formatting rules during list uploads. Files must never contain column header rows, and source URLs cannot include query strings, fragments, ports, or credentials. Each line accepts up to seven positional parameters: source_url, target_url, status_code (301, 302, 307, 308), preserve_query_string, include_subdomains, subpath_matching, and preserve_path_suffix. When subpath matching is enabled, source URLs cannot exceed 16 slashes. This validator inspects every row, detects duplicate source URLs, identifies circular redirect loops and chains, and exports clean, upload-ready CSV files.
Related tools
Guides
Questions
Why does Cloudflare reject my Bulk Redirect CSV with row errors?
The most common causes are an accidental header row, query strings included in source URLs, unsupported HTTP status codes, or invalid boolean values. Cloudflare requires headerless CSVs with exact column ordering.
Can source URLs contain query parameters in Cloudflare Bulk Redirects?
No. Cloudflare Bulk Redirect source URLs cannot include query strings. To pass query strings to the destination, set the preserve_query_string parameter (column 4) to TRUE.
Can I convert a two-column Excel or Google Sheets migration export?
Yes. Paste your Old URL and New URL columns directly or upload your spreadsheet CSV. The converter populates Cloudflare's positional parameters, strips headers, and generates a compliant upload CSV.
What HTTP redirect status codes does Cloudflare support in bulk lists?
Cloudflare Bulk Redirects support 301 (Moved Permanently), 302 (Found / Temporary), 307 (Temporary Redirect), and 308 (Permanent Redirect). Leaving the status column empty defaults to 301.
Does my website or redirect data leave my computer?
No. All CSV parsing, syntax validation, graph cycle analysis, and file generation run entirely inside your browser using client-side JavaScript. No data is sent to our servers.