HTTP Headers Inspector

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Acceptrequest

Media types the client can handle (e.g., text/html, application/json).

Access-Control-Allow-Credentialsresponse

Set to "true" to let the browser expose a cross-origin response to JavaScript when the request carried cookies or HTTP auth.

Access-Control-Allow-Headersresponse

Request headers the server permits on the real cross-origin request; answers a preflight OPTIONS.

Access-Control-Allow-Methodsresponse

HTTP methods the server permits cross-origin (e.g., GET, POST, PUT); answers a preflight OPTIONS.

Access-Control-Allow-Originresponse

Origin allowed to read the response: a specific origin or *. Cannot be * when credentials are included.

Access-Control-Max-Ageresponse

How many seconds the browser may cache a CORS preflight result before asking again.

Accept-Encodingrequest

Compression algorithms the client accepts (gzip, deflate, br).

Accept-Languagerequest

Preferred languages for the response (e.g., en-US,en;q=0.9).

Authorizationrequest

Credentials for authenticating the client (Bearer token, Basic auth, etc.).

Cache-Controlboth

Caching directives (e.g., no-cache, max-age=3600, public, private).

Connectionboth

Controls whether the network connection stays open (keep-alive or close).

Content-Encodingboth

Encoding applied to the body (gzip, deflate, identity).

Content-Lengthboth

Size of the request or response body in bytes.

Content-Security-Policyresponse

Restricts where scripts, styles, images, and frames may load from — the primary defence against XSS (e.g., default-src 'self').

Content-Typeboth

Media type and encoding of the request/response body (e.g., application/json; charset=utf-8).

Cookierequest

HTTP cookies previously set by the server, sent back with requests.

ETagresponse

Unique identifier for a version of a resource, used for caching.

Hostrequest

Domain name and port of the server being requested. Required in HTTP/1.1.

If-Modified-Sincerequest

Returns the resource only if modified after the given date (conditional GET).

If-None-Matchrequest

Returns the resource only if the ETag does not match (conditional GET).

Last-Modifiedresponse

Date and time the resource was last changed.

Locationresponse

URL to redirect the client to (used with 3xx responses).

Originrequest

Origin of the cross-site request, used in CORS preflight requests.

Refererrequest

URL of the page making the request (note: misspelling is intentional in the HTTP spec).

Retry-Afterresponse

How long to wait before making another request (used with 429 or 503).

Serverresponse

Information about the server software handling the request.

Set-Cookieresponse

Sets a cookie in the client; may include attributes like HttpOnly, Secure, SameSite.

Strict-Transport-Securityresponse

Forces HTTPS by telling browsers not to use HTTP for a given duration (HSTS).

Transfer-Encodingboth

Encoding for the message body (chunked, compress, deflate, gzip, identity).

User-Agentrequest

String identifying the client browser, OS, and version.

Varyresponse

Tells caches which request headers affect the response (e.g., Vary: Accept-Encoding).

WWW-Authenticateresponse

Authentication method the server requires (used with 401 responses).

X-Content-Type-Optionsresponse

Prevents MIME-type sniffing; value "nosniff" instructs browser to use declared content type.

X-Frame-Optionsresponse

Controls embedding in iframes: DENY, SAMEORIGIN, or ALLOW-FROM uri.

X-Forwarded-Forrequest

Original IP address of the client when passing through proxies or load balancers.

X-Requested-Withrequest

Indicates an AJAX request; typically set to "XMLHttpRequest" by JS libraries.

X-XSS-Protectionresponse

Legacy XSS filter directive (deprecated in modern browsers, but still sent for legacy support).

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand HTTP Headers Inspector

A reference for the common HTTP request and response headers, plus a parser that turns a pasted raw header block into structured key/value pairs.

How it works

HTTP headers are line-oriented: a name, a colon, and a value, terminated by CRLF, with a blank line ending the block. Names are case-insensitive, which is why HTTP/2 and HTTP/3 lowercase them all on the wire. The parser here splits each line at the first colon so that values containing colons (a URL in Location, a time in Retry-After) survive intact, and the reference alongside it labels each header as request-side, response-side, or both. Everything runs locally — this tool reads headers you paste, it does not fetch them from a URL.

When to use it

  • Pasting a block copied out of the DevTools Network tab or `curl -i` output to read it as a structured list
  • Checking what Cache-Control directives are actually being sent before blaming the CDN for a stale response
  • Looking up which security headers a response should carry (Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options) and what each value does
  • Confirming whether a header you expected — Vary, ETag, Access-Control-Allow-Origin — is present at all

Watch out for

  • This tool does not fetch a URL. It explains and parses headers you supply; to capture real headers, use `curl -I`, the DevTools Network tab, or the REST client.
  • Repeated header names are legal and meaningful. A response can carry several Set-Cookie lines; a flat key/value view keeps only the last of a repeated name, so check the raw block when cookies go missing.
  • The misspelling in "Referer" is in the original specification and is permanent. Referrer-Policy, added much later, is spelled correctly — using the wrong spelling for either one silently does nothing.
  • X-XSS-Protection is dead. Modern browsers ignore or have removed it, and a nonzero value was itself exploitable; a Content-Security-Policy is the replacement.

Frequently Asked Questions

What is the Cache-Control header?

Cache-Control directs browsers and CDNs on caching behavior. Key values: no-cache (revalidate before using cache), no-store (never cache), max-age=3600 (cache for 1 hour), public (CDN-cacheable), private (browser only), immutable (never revalidate, for versioned assets).

What headers are needed for CORS?

For simple requests: Access-Control-Allow-Origin: * (or specific origin). For preflighted requests (POST/PUT/custom headers): also Access-Control-Allow-Methods, Access-Control-Allow-Headers, and optionally Access-Control-Max-Age. Credentialed requests need Access-Control-Allow-Credentials: true.

What is the Strict-Transport-Security header?

HSTS (HTTP Strict Transport Security) tells browsers to only connect via HTTPS for a set duration: Strict-Transport-Security: max-age=31536000; includeSubDomains. After one HTTPS visit, browsers refuse plain HTTP for a year. Use with care — HTTPS must work before enabling.

How to Use HTTP Headers Inspector

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.