Raw HTTP Request Validator
Validate and parse raw HTTP request text with detailed request metadata.
Input
Output
Result
No value
Readme
What is a raw HTTP request?
A raw HTTP request is the plain-text representation of an HTTP message as it would be transmitted over the network. It consists of a request line (method, URL, and HTTP version), followed by header fields (key-value pairs), an empty line, and an optional body. For example, a simple GET request looks like GET /index.html HTTP/1.1 followed by headers like Host: example.com.
Understanding raw HTTP requests is fundamental to web development, API debugging, and network troubleshooting. Tools like cURL, Wireshark, and browser developer tools often display requests in raw format. Being able to read and validate these raw messages helps developers diagnose issues such as malformed headers, incorrect content lengths, missing host headers, or protocol version mismatches.
Tool description
The Raw HTTP Request Validator parses and validates raw HTTP request messages. Paste a complete raw HTTP request — including the request line, headers, and optional body — and the tool will check whether it conforms to valid HTTP syntax. If the request is valid, it extracts and displays key details including the HTTP method, URL, HTTP version, host, header count, and body size in bytes. If the request is malformed, it reports the specific parsing error.
Features
- Full request parsing: Validates the entire HTTP message structure including request line, headers, and body
- Detailed field extraction: Displays the parsed method, URL, HTTP version, host header, number of headers, and body byte count
- Error reporting: Provides specific error messages when the request is incomplete or malformed
- Pre-filled placeholder: Includes a sample POST request so you can immediately see the expected format
- Standards-based parsing: Uses the
http-parser-jslibrary, which implements the same parsing logic used by Node.js
How it works
The tool uses http-parser-js, a JavaScript implementation of the HTTP parser originally written in C for Node.js. When you paste a raw request, the parser processes it byte by byte — identifying the request line, extracting each header pair, accumulating the body, and checking for message completeness. If the parser encounters a syntax error or the message is incomplete (missing the final empty line or declared body content), it reports the failure. On success, the parsed components are displayed in structured output fields.
Limitations
- HTTP/1.x only: The parser handles HTTP/1.0 and HTTP/1.1 requests. HTTP/2 binary frames are not supported
- Request only: This tool validates HTTP requests, not HTTP responses
- No semantic validation: The parser checks structural correctness but does not validate whether specific header values are logically valid (e.g., whether a Content-Type matches the actual body format)
Use cases
- API debugging: Validate raw requests captured from logs, proxies, or documentation before sending them to a server
- Learning HTTP: Study the structure of HTTP messages by experimenting with different methods, headers, and body formats
- Security analysis: Inspect and validate suspicious or unusual HTTP requests encountered during penetration testing or log review