ZeroTool Workbench
HAR File Analyzer
Drop a HAR file from your browser DevTools and analyze the request waterfall, status codes, headers, cookies, and timing bottlenecks. 100% client-side — your HAR never leaves the browser.
How to Use
- Open your browser DevTools, go to the Network tab, and export the session as a .har file.
- Drop the file into the dropzone (or click to choose). Parsing happens locally in your browser.
- Switch between Overview for stats, Waterfall for timing, Detail for headers/cookies/body, and Filter & Export to slice and download.
- Click any waterfall row to jump straight into its Detail view.
- Use Reset to clear the HAR from memory.
Waterfall Phases
The waterfall draws six segments per request, mapped from HAR 1.2 timings:
- Queued / Stalled —
blocked - DNS Lookup —
dns - Initial Connection —
connect(already includessslper HAR 1.2) - Request Sent —
send - Waiting (TTFB) —
wait - Content Download —
receive
Privacy
HAR files routinely contain Authorization headers, Cookie headers, response bodies, and other sensitive material. Uploading them to a hosted analyzer is risky. ZeroTool runs the parser in your browser using FileReader and JSON.parse; nothing is uploaded and nothing is persisted across reloads.
FAQ
What is a HAR file?
HAR (HTTP Archive) is a JSON-based file format that records every network request a browser makes during a session — URL, method, status, headers, cookies, timings, and bodies. Chrome, Firefox, Safari, and Edge DevTools can export the current Network tab as a .har file.
How do I export a HAR from my browser?
In Chrome / Edge DevTools open the Network tab, right-click any row, and choose 'Save all as HAR with content'. Firefox uses 'Save All As HAR' in the same context menu. Safari supports it via the gear icon in the Network tab.
Does my HAR get uploaded?
No. The file is parsed entirely in your browser with FileReader. Nothing is sent to a server, no signup, no tracking. The Reset button clears the in-memory state, and the tool never persists HAR data across page loads.
What do the six waterfall colors mean?
They follow Chrome DevTools standard phases mapped onto HAR 1.2 spec timings: Queued/Stalled (blocked), DNS Lookup (dns), Initial Connection (connect — already includes ssl per spec), Request Sent (send), Waiting/TTFB (wait), and Content Download (receive). A field equal to -1 means the phase did not occur and is skipped.
Why does entry.time sometimes differ from the sum of timings?
Per HAR 1.2 spec entry.time must equal blocked + dns + connect + send + wait + receive (summing only non-negative fields; ssl is excluded because it is already counted inside connect). If they differ, the HAR was emitted by a non-compliant tool. ZeroTool tolerates a sub-2ms float delta and still renders the request.
What can I do with Filter & Export?
Filter by status code class (2xx/3xx/4xx/5xx/other), resource type (script/stylesheet/image/json/...), or domain. Export the filtered subset as a smaller .har file, or copy all matching requests as a single cURL script for replay.