FREE WEB TOOL

HTTP request parser online

Parse a raw HTTP request into request line, headers and body without sending it.

Use tool

🔒 Inputs are processed locally in your browser.

How to use it

Split a raw HTTP request into method, request target, HTTP version, headers and body for easier inspection. The tool parses text only; it does not send the request.

  1. Paste a raw HTTP request beginning with the request line.
  2. Select Parse request.
  3. Review Method, Target, Version, Headers and Body separately.
First line
METHOD target HTTP/x.x
Headers
Split at the first colon
Body
Text after the first blank line
Network action
No request is sent

Parse GET /api/items?q=test HTTP/1.1

With GET /api/items?q=test HTTP/1.1 plus Host and Accept headers, the result identifies GET as the method, /api/items?q=test as the target and HTTP/1.1 as the version.

This is not a complete HTTP protocol validator. It does not decode chunked bodies, model HTTP/2 pseudo-headers or handle every obsolete/multiline header convention.

The first line must look like a request line

Method, target and HTTP version must be present as whitespace-separated parts. A curl command or access-log entry is not the same input format.

Header lines without a colon stay visible as unparsed

Instead of silently discarding a malformed line, the result marks it [unparsed] so you can find the problem in the source text.

The body starts after the first blank line

JSON, form text or another payload after the header separator is shown as body text. The parser does not validate the payload format itself.

Parsing is not an API connectivity test

Because nothing is sent, the tool cannot tell you the response status, authentication result, CORS behavior or server timing.

Mask secrets when possible

Authorization and Cookie headers can contain real credentials. Use redacted copies when the exact secret value is not needed for structural debugging.

Related references: HTTP status codes · MIME types · Regex cheat sheet