Skip to content

Body viewers

The Body tab on each side of the inspector shows the body in the viewer that fits its content type. A row of mode buttons switches between the views available for that body.

Mode Available for Shows
Pretty JSON, XML, HTML, images, text Re-indented text, or the image
Tree JSON A collapsible tree; the easiest way through a large payload
Fields Form bodies Name / value table
Raw Everything but images The decoded text as sent
Hex Everything A hex dump of the first 64 KB

Bodies compressed with gzip, deflate, or Brotli are decoded before any view is built. If a body was larger than HTTPGlass keeps, the viewer says only the first part was kept.

  • JSON — pretty-printed or tree.
  • XML and HTML — re-indented so nesting is visible. The formatter is deliberately not a validating parser: it renders whatever the server actually sent, including malformed markup, and hands back anything it can’t make sense of unchanged. HTML is shown as source, never rendered — captured pages are never loaded into a web view, where their scripts could run and make their own requests.
  • application/x-www-form-urlencoded — each field decoded into a table.
  • multipart/form-data — each part as a row; file parts show the filename, content type, and size rather than the bytes. If the body was cut off by the capture size cap, the raw view is offered instead.
  • Images — previewed inline.
  • Anything else — raw text if it decodes as UTF-8, otherwise hex.

When a request carries a Cookie header, the request side gets a Cookies tab listing each cookie’s name and value. When a response has Set-Cookie headers, the response side gets one too. The response tab lists name and value; a cookie’s attributes (Domain, Path, Expires, SameSite, and so on) are in its Set-Cookie line on the Headers tab. The tabs only appear when there’s something to show.

A connection upgraded to WebSocket (101 Switching Protocols) gets a WebSocket tab on the response side with every frame that followed. A GraphQL request — a POST with a query field, or a batched array of them — gets a GraphQL tab on the request side with the operation, the query, its variables, and any errors in the response.