HTTP Request Validator

Check a raw HTTP request for syntax and formatting issues.

Checking…

Key features

Checks the request line, headers, and body
Flags missing Host headers and duplicates
Verifies Content-Length against the body
No network request — it's just text parsing

Paste a raw HTTP request — the kind you’d see in curl -v output, a proxy log, or a hand-written test fixture — and this checks the request line, headers, and body for common formatting mistakes. Everything is checked entirely in your browser.

How to use

  1. Paste a raw HTTP request

    Include the request line, headers, a blank line, then an optional body — the same shape curl -v or a proxy log shows.

  2. Read the findings

    Errors (real formatting problems) and warnings (unusual but technically valid) are listed separately, updating as you type.

Frequently asked questions

What counts as an error versus a warning?

Errors are things that break the request outright — a malformed request line, a header with no colon, or a missing Host header on HTTP/1.1 (which the spec requires). Warnings are unusual-but-technically-legal details, like a non-standard method or a header repeated when it shouldn't be.

Does this send the request anywhere?

No — it's a pure text/syntax check performed entirely in your browser. Nothing you paste here is sent over the network.

Why does it check Content-Length?

If a Content-Length header is present, this compares it against the actual byte length of the body you pasted (using UTF-8 encoding) — a mismatch is a common, hard-to-spot bug when hand-writing test requests.

Link copied