Skip to main content
ToolsBay

HTTP Header Parser

Parse raw HTTP headers into a readable, annotated table.

Runs entirely in your browser — nothing is uploaded

Paste headers on the left to see them parsed.

Frequently asked questions

Where do I get raw headers to paste in?

From curl -I https://example.com, or from your browser devtools: Network tab, click a request, and copy the request or response headers.

Are header names case-sensitive?

No. HTTP header names are case-insensitive, so Content-Type and content-type are the same header. HTTP/2 and HTTP/3 lowercase them on the wire.

What is a folded header?

A header value continued on the next line, indented with whitespace. It is deprecated but still appears in older systems and email-derived formats, so lines like that are joined onto the previous header here.

Does this send a request to the URL?

No. It only parses text you paste. Nothing leaves your browser, which is why you can safely inspect headers containing an Authorization token or a session cookie.

Reading an HTTP exchange

Every HTTP request and response starts with a single line — a request line like GET /path HTTP/1.1, or a status line like HTTP/1.1 200 OK — followed by headers, one per line, each a name and a value separated by a colon.

Values may legitimately contain colons, which is why only the first one separates the name from the value. Content-Type: text/html; charset=utf-8 is one header whose value happens to contain both a colon-adjacent parameter and a semicolon.

The headers worth knowing

  • Cache-Control — the single most consequential header for performance. Decides who may cache the response and for how long.
  • Content-Type — how the browser interprets the body. A wrong value here makes a page render as plain text or download instead of displaying.
  • ETag and Last-Modified — used to revalidate a cached copy without re-downloading it.
  • Strict-Transport-Security, Content-Security-Policy and X-Content-Type-Options — the security headers worth auditing on any site you run.
  • Vary — tells caches which request headers change the response. Getting it wrong causes the wrong cached variant to be served.

To pull apart the URL a request was made to, use the URL parser. To decode a bearer token from an Authorization header, use the JWT decoder.

All developer tools