HTTP header parser
Parse a pasted block of raw HTTP request or response headers into readable name/value pairs.
HTTP header parser
Paste a block of raw HTTP headers — copied from browser dev tools, curl -i, a proxy log or an API doc — and this tool splits it into the first line (the request method and target, or the response status code) plus every header as a clean name/value pair. It saves the manual work of eyeballing a wall of "Name: value" lines to find the one header you actually care about.
Turn on "Expand compound headers" to break multi-directive headers like Cache-Control and Content-Security-Policy into one row per directive, so "no-cache, no-store, must-revalidate" becomes three separate, scannable entries instead of one long string you have to parse by eye. "Normalize header name casing" rewrites names to their conventional form (content-type becomes Content-Type) regardless of how the source sent them, since HTTP header names are case-insensitive on the wire but inconsistent in practice. Sort the list alphabetically to find a specific header fast in a long response, and switch the output between an aligned text table and JSON when you need the result to paste into a script instead of read by eye.
Turn on "Warn about missing security headers" to check the parsed headers against six commonly recommended ones — Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy and Permissions-Policy — and list whichever aren't present. It's a quick sanity check while debugging a deployment, not a substitute for a full security audit.
Everything runs locally in your browser: the headers you paste, which can include cookies, tokens or internal hostnames, are never uploaded anywhere. Parsing handles both Windows (CRLF) and Unix (LF) line endings, tolerates old-style folded continuation lines, and stops at the first blank line — exactly where the HTTP spec says the body begins — so pasting a full response with its body attached is safe.