GALAXY OF TOOLS

DEV SECTOR

HAR File Viewer

Open a .har recording, filter and sort every request, inspect headers, bodies and a timing waterfall.

Drop a .har file here, or click to choose Exported from Chrome, Edge, Firefox, Safari, Charles or Fiddler · the file never leaves your device
Or paste HAR text

Runs entirely in your browser. Nothing you enter or upload is sent to a server.

Open and analyse HAR files without uploading them

A HAR file (HTTP Archive) is the JSON export of a browser’s Network panel: every request on a page with its headers, bodies, status, size and timing phases. This HAR file viewer opens that file in your browser and turns it back into something readable — a sortable list of requests, a waterfall that shows when each one started and how long it waited, and a detail panel with headers, query parameters, cookies, request and response bodies and a timing breakdown.

Use it to read a recording a customer sent to support, to find the slow API call behind a sluggish page, or to check which cookies and headers a third-party script sends. Filters by type, status and text narrow thousands of entries down to the few that matter, and the filtered list exports as CSV.

HAR files routinely contain session cookies, bearer tokens and personal data, which is why this viewer keeps everything on your device. The file is parsed by JavaScript in your tab; nothing is uploaded, logged or stored.

How to use the HAR File Viewer

  1. Export a HAR from your browser: open DevTools → Network, reproduce the problem, then use the download/export icon (Chrome and Edge: “Export HAR…”, Firefox: right-click → “Save All As HAR”, Safari: “Export”).
  2. Drop the .har file on the viewer or click to choose it. You can also paste the JSON text, or press Load sample recording.
  3. Read the totals: number of requests, bytes transferred, total resource size, finish time, failures, and DOMContentLoaded / load if the recording includes page timings.
  4. Narrow the list with the Type and Status drop-downs or the text filter (URL fragment, method or status code), and click a column heading to sort.
  5. Click any row to open its details: Headers, Request (query, cookies, post data), Response (body, with JSON pretty-printed and images previewed) and Timings.
  6. Press Export filtered list as CSV to save what you see, including every timing phase in milliseconds.

HAR File Viewer features

Waterfall with timing phases

Each row draws a bar on a shared timeline, split into blocked, DNS, connect, TLS, send, waiting (TTFB) and download, so parallel requests and long gaps are visible at a glance.

Filters and sorting

Filter by resource type (document, XHR/fetch, script, stylesheet, image, font, media, WebSocket), status class (2xx–5xx or failed) and free text; sort by any column.

Full request details

General information, response and request headers, query string, cookies sent and set, post data (decoded form fields or JSON) and a timing breakdown for every entry.

Readable bodies

JSON responses are pretty-printed, base64 images are shown as pictures, text bodies are shown up to 200 KB and binary ones are summarised rather than dumped.

Large recordings

Files up to 150 MB open in the page; rows are drawn in batches of 300 so filtering and sorting stay responsive.

CSV export

The filtered list downloads as a UTF-8 CSV with URL, status, type, MIME type, sizes, total time and each timing phase — ready for a spreadsheet or the CSV Viewer.

Reading the waterfall and timings

HAR 1.2 records seven timing phases for each request. Together they add up to the entry’s total time. The colours in the viewer follow this table:

  • A value of -1 in the file means the phase did not apply (for example no DNS lookup on a reused connection); the viewer shows it as “n/a”.
PhaseMeaningWhat a long value suggests
BlockedQueued, or waiting for a free connectionToo many parallel requests to one host, or a browser queue limit on HTTP/1.1
DNSResolving the host nameA new third-party domain; consider dns-prefetch or fewer domains
ConnectOpening the TCP connection (includes TLS)Far-away server or no connection reuse
TLSHandshake, part of ConnectOld TLS version or a slow certificate chain
SendUploading the requestLarge upload or slow uplink
Waiting (TTFB)Time to the first byte of the responseSlow server-side work, database or cold cache
DownloadReceiving the response bodyLarge or uncompressed response

Why some bodies are missing

Chrome and Edge offer two export options: “Export HAR (with sensitive data)” includes response bodies and cookies, while the sanitised export leaves them out. Firefox includes bodies by default. When a body was not captured, the viewer says so instead of showing an empty box, and the size column still reports what was transferred.

Failed requests appear with status 0 or “failed” and the error text the browser recorded, such as net::ERR_TIMED_OUT or a CORS block. Those count towards the “failed” total together with 4xx and 5xx responses. For a reminder of what each code means, see the HTTP status codes reference.

Turning an entry into something you can run

Found the request that misbehaves? Copy it from DevTools as cURL and paste it into the cURL to Fetch converter to get fetch, axios or Python code that reproduces it. A JSON response body can go into the JSON Formatter for a collapsible tree, and the User-Agent Parser identifies the browser that made the recording.

HAR File Viewer FAQ

Is it safe to open a HAR file here?

Yes. The HAR file viewer runs entirely in your browser; the file is read with the File API and parsed locally. It is never uploaded, and nothing is kept once you close the tab. Still, treat HAR files as sensitive and strip cookies before sharing them with others.

How do I create a HAR file?

In Chrome or Edge open DevTools (F12) → Network, tick “Preserve log”, reload the page, then click the download icon to export. Firefox: Network → gear icon → “Save All As HAR”. Safari: Web Inspector → Network → Export.

Why does the viewer show fewer requests than DevTools?

The HAR contains exactly what was exported: if “Preserve log” was off, requests from before a navigation are lost. Also check that no type or status filter is active in the viewer.

What does “transferred” versus “resources” mean?

Transferred is the number of bytes that crossed the network (compressed bodies plus headers, from bodySize and headersSize). Resources is the uncompressed size of the content (content.size). A big difference means compression and caching are working.

Can I open HAR files from Firefox, Safari or a proxy?

Yes. Any file that follows the HAR 1.1 or 1.2 format opens. Browser-specific fields such as Chrome’s _resourceType, _priority and _initiator are used when present; otherwise the type is worked out from the MIME type.

How large a HAR file can I open?

Up to 150 MB. Very large recordings depend on your device’s memory; if the page becomes slow, record a shorter session or export without content.

You might also need