HAR File Viewer

Open .har exports, inspect requests, waterfalls, headers, and bodies in your browser

Drop a .har file or paste HAR JSON to inspect every request: headers, cookies, query params, request and response bodies, and a per-request waterfall. Filter by status, method, content type, or URL. 100% client-side. nothing is uploaded.

HAR Timing Phases

Each request entry has a timings object that describes how the browser spent time between starting the request and receiving the last byte. The viewer renders these phases as colored segments in the waterfall.

blocked queued or stalled (connection limit, proxy)
dns DNS lookup of the host
connect TCP connect to the server
ssl TLS handshake (included in connect)
send uploading request bytes
wait server processing / TTFB
receive downloading response bytes

Understanding HAR Files

What is a HAR file?

HAR (HTTP Archive) is a JSON-based format for recording HTTP traffic between a client and a server. Every major browser’s DevTools can export the current Network tab as a .har file, and proxies like Charles, Fiddler, and Insomnia produce HAR exports as well.

A HAR file is a snapshot of a browsing session. it captures URLs, methods, status codes, request and response headers, cookies, request and response bodies (when available), and a detailed timing breakdown per request.

How to export a HAR

  • Chrome / Edge / Brave: DevTools → Network tab → reload the page → right-click any row → Save all as HAR with content
  • Firefox: DevTools → Network → gear icon → Save All As HAR
  • Safari: Web Inspector → Network → Export button (you may need to enable the Develop menu first)
  • Charles Proxy: File → Export Session → choose HTTP Archive (.har)
  • Fiddler: File → Export Sessions → HTTPArchive v1.2

Treat HAR files as sensitive

HAR files frequently contain authorization tokens, session cookies, OAuth bearer tokens, and request bodies that may include passwords or PII. Before posting a HAR in a bug report or sharing it with a vendor:

  • Toggle Redact secrets in this viewer to mask Authorization, Cookie, and Set-Cookie headers
  • Use the filter bar to narrow down to only the requests that demonstrate the issue
  • Use Export filtered HAR to save a clean, minimal HAR that contains only what you need to share

What the waterfall tells you

  • Long blocked time: too many requests to the same host. browsers limit concurrent connections per origin
  • Long DNS: uncached hostname. consider DNS prefetch or a CDN with anycast
  • Long connect / ssl: high RTT or TLS handshake cost. HTTP/2 or HTTP/3 multiplexing helps
  • Long wait (TTFB): server-side slowness. inspect backend latency, cache hit rate, or N+1 queries
  • Long receive: large response body or slow last mile. consider compression, code splitting, or image optimization

HAR Viewer FAQ

What is a HAR file?

A HAR (HTTP Archive) file is a JSON log of HTTP requests and responses captured by a browser or proxy. It contains URL, method, status, headers, cookies, bodies, and per-request timing data.

How do I open a HAR file?

Drag a .har file onto the drop zone, click to browse, or paste the HAR JSON into the textarea. The file is parsed in your browser and rendered as a sortable, filterable table with a waterfall and a request detail panel.

Are my HAR contents uploaded?

No. Parsing and rendering run entirely in your browser. No file, header, body, or URL is sent to any server. There is no upload, no logging, and no telemetry of HAR contents.

What sensitive data might a HAR contain?

Authorization tokens, cookies, CSRF tokens, OAuth bearer tokens, and request bodies that may contain passwords or PII. Always inspect a HAR before sharing. Use the Redact secrets toggle to mask sensitive headers in the UI and in the exported HAR.

Can I export only the requests I want to share?

Yes. Apply your filters (status, method, type, URL) then click Export filtered HAR. The download is a valid HAR 1.2 file with the original creator metadata preserved.

What does each waterfall color mean?

Each segment represents a HAR timing phase: gray blocked, purple dns, orange connect, pink ssl, green send, blue wait (TTFB), yellow receive. See the HAR Timing Phases reference above.

Why is the response body empty for some requests?

Browsers do not always include response content in HAR exports. In Chrome you have to use Save all as HAR with content and the response must still be in memory. Image and binary responses are sometimes truncated, and some responses (cross-origin, opaque) are intentionally omitted by the browser.

What about very large HAR files?

The viewer streams entries into the DOM in chunks and uses lightweight rendering for the table, so files with thousands of entries work in a typical browser. Detail panels are only built when you click a row. For extreme cases, narrow the file in DevTools before exporting.

Does it work offline?

Yes. The viewer is pure JavaScript with no external dependencies. After the page loads once, it works without an internet connection.