Volley / HAR to sequence diagram

HAR import

Turn a HAR file into a sequence diagram.

Record a flow in your browser's Network tab, drop the file into Volley, and get a sequence diagram with the request and response bodies on every arrow.

Three steps

  1. Open your browser's developer tools, go to the Network tab and run through the flow: sign in, check out, whatever you want to document.
  2. Right-click the request list and choose "Save all as HAR" (the wording varies a little by browser).
  3. Open the Volley editor and drop the file on it, or choose "Import a HAR" from the editor's Share menu.

Each host becomes a lane. Each request becomes an arrow with its query, form or JSON body as an in: payload, and each response becomes a dashed reply with its body as out:. Scripts, styles, images and fonts are skipped.

What you get

Here is a short recording of a billing job, converted as is. It is plain Volley source, so you can rename lanes, delete noise, add notes and if branches, and keep it in your repo.

billing-run.volley
title: Billing run, imported from a HAR file
order: Browser, auth.example.com, api.example.com

// Imported from a HAR file recorded 2026-10-15T17:42:00.000Z

Browser -> auth.example.com: POST /oauth2/token
in: Body
```form
grant_type=client_credentials&client_id=billing-worker&client_secret=<redacted>
```

auth.example.com --> Browser: 200 OK
out: JSON
```json
{
  "access_token": "<redacted>",
  "token_type": "Bearer",
  "expires_in": "900",
  "scope": "invoices:read"
}
```

Browser -> api.example.com: GET /invoices?status=open
in: Query
```params
status: open
```

api.example.com --> Browser: 200 OK
out: JSON
```json
[
  {
    "id": "inv_9001",
    "total": 4200,
    "currency": "USD",
    "due_at": "2026-11-01"
  }
]
```

Browser -> api.example.com: POST /invoices/inv_9001/reminders

api.example.com --> Browser: 202 Accepted
out: JSON
```json
{
  "id": "rem_77",
  "status": "queued"
}
```
Sequence diagram generated from a HAR recording: a browser lane calls auth.example.com for a token and api.example.com for open invoices and a reminder, each arrow tagged with its payload.

Secrets stay out

Recordings are full of credentials. Before anything reaches the diagram, Volley redacts authorization and cookie headers, API keys, CSRF tokens, and secret-looking query parameters, form fields and JSON keys. Look at the client_secret and access_token above. Headers are left out unless you ask for them.

Keep it honest

A diagram you generated once will drift. Record the flow again later and use Update from recording on the same diagram: changed payloads and status codes update in one click, and new requests can be added.

From the command line

The Volley CLI does the same conversion: volley har recording.har, with --headers to keep headers, --host <substring> to keep one service and --title to name the diagram. Agents can call it the same way.

Questions

Is my HAR file uploaded anywhere?

No. In the editor the recording is read and converted in your browser. Only the diagram you choose to save or share leaves your machine.

What gets redacted?

Authorization, cookie, API key and CSRF headers, secret-looking query parameters, form fields and JSON keys such as passwords, tokens and client secrets. They become <redacted> in the diagram.

How many requests can I import?

Free imports take 8 requests at a time. Pro imports take up to 500. Static assets such as scripts, styles, images and fonts are skipped first, so the limit goes to API calls.

Which browsers can save a HAR file?

Chrome, Edge, Firefox and Safari all export HAR from their developer tools. Proxies such as Charles and mitmproxy, and test runners such as Playwright, can write one too.

Drop in a recording.

Open the editor, drop a HAR file on it, and get a diagram you can edit.