The inspector
The main window has a sidebar on the left, the traffic table at the top and the inspector underneath. Drag the divider to resize the inspector, and hide it when you want more room for the table.
Sidebar
Section titled “Sidebar”- All traffic.
- By app, with each app’s hosts underneath.
- Pinned apps and hosts, which you choose and which are remembered.
- Sessions.
Counts next to each item ignore the filter bar. Choosing an item narrows the table, and the filter bar applies on top.
Traffic table
Section titled “Traffic table”Each row is a request, with columns such as status, method, host, path, app, status code, content type, sizes, duration, start time, protocol (HTTP/1.1, HTTP/2, WebSocket or tunnel) and TLS state. You can sort and customize the columns.
The table stays responsive with more than 100,000 rows. If you scroll away from the newest rows, or select a row, the table stays put and shows how many new requests arrived. Jump back to the latest when you are ready.
Filter bar
Section titled “Filter bar”Narrow the table by:
- text in the URL,
- method,
- status class,
- content type,
- app, or
- errors only.
Context menu
Section titled “Context menu”Right-click a row to copy the URL, copy it as cURL, export it as HAR, enable SSL proxying for its host, or bypass the host. See Sessions and export.
Inspector tabs
Section titled “Inspector tabs”| Tab | Shows |
|---|---|
| Overview | Method, URL, status, app, protocol, sizes and any error. |
| Headers | Request and response headers. |
| Query | The query string as a table. |
| Cookies | Cookies sent and set. |
| Body | The request and response bodies, in a viewer that fits the content. |
| Raw | The message as it looks on the wire. |
| Timing | The phases Puffin can observe. Use the ⓘ button for what each phase means. |
| TLS | Version, cipher, negotiated protocol and the server’s certificate chain. Use the ⓘ button for help on each field. |
| Messages | For a WebSocket connection, each message with direction, type, size and time. |
Body viewers
Section titled “Body viewers”Puffin keeps bodies exactly as they were sent and decodes them only for display. It understands gzip, deflate, Brotli and zstd.
Viewers cover text, JSON (as a tree or pretty-printed), XML and HTML, URL-encoded forms, multipart, images and hex. Large bodies load as you open them, and you can search inside a body with the find bar.
Errors
Section titled “Errors”Failures are shown instead of hidden: the upstream could not connect, TLS failed, the client gave up, or the request timed out. For HTTP/2, resets and GOAWAY frames are recorded as errors.
WebSocket
Section titled “WebSocket”When a connection upgrades to WebSocket, Puffin passes the traffic through unchanged and shows each message in the Messages tab. Messages that were split into pieces are joined, and compressed messages are decompressed for display. If a stream stops looking like WebSocket, Puffin records an error and keeps passing the traffic through.