HAR Viewer

Inspect HTTP Archive (HAR) exports from browser DevTools.

Open tool

Overview

The HAR viewer parses an HTTP Archive file exported from a browser's DevTools and lists every request with its method, URL, status, duration, and size. Slow endpoints, redirects, and failed calls stand out without scrolling through raw JSON.

It's the go-to inspection tool when a colleague or a customer sends a HAR capture for a page that's loading slowly or behaving oddly. Frontend developers, performance engineers, and support teams use a har file viewer to diagnose third-party scripts, redirect chains, and uncached assets without booting up Chrome's DevTools again.

How it works

The HAR specification, maintained by the W3C Web Performance group, defines a JSON document with a top-level log containing entries, each holding request, response, and timings objects. The viewer walks the entries, sorts them chronologically by startedDateTime, and renders a flat table.

Per-request timings are summed from the timings object (blocked, dns, connect, ssl, send, wait, receive) so the total matches what DevTools shows. Response sizes prefer _transferSize when present (real bytes on the wire) and fall back to bodySize for older captures.

Examples

Top requests by duration:
200  GET   /api/users          1.2 KB    340 ms
200  POST  /api/login          0.4 KB    180 ms
304  GET   /static/app.js      0          12 ms
404  GET   /favicon.ico        0           8 ms
Filter: status >= 400
404  GET   /favicon.ico
500  POST  /api/checkout

FAQ

Does it show request and response headers?

Yes — each entry can be expanded to show full request headers, response headers, cookies, and the response body if it was captured. Sensitive headers (Authorization, Cookie) are shown verbatim, so be careful sharing screenshots.

Can I diff two HAR files?

Not directly in this viewer. Use the JSON diff tool on the two HAR exports if you need to compare network captures between sessions.

What about WebSocket frames?

The HAR spec doesn't standardise WebSocket payloads, but Chrome includes them in a non-standard _webSocketMessages field. The viewer surfaces them when present so you can inspect frame direction, opcode, and payload.

Try HAR Viewer

An unhandled error has occurred. Reload ×