Boneyard Tools

HAR File Analyzer

Paste a HAR file to get an instant performance summary: total requests, transfer size and time, a breakdown by status code, type and domain, and the slowest and largest requests. Everything runs in your browser.

How to analyze a HAR file

  1. In your browser dev tools, open the Network tab and export the requests as a HAR file.
  2. Paste the HAR JSON into the box below.
  3. Read the dashboard and copy the summary, or scan the slowest and largest requests.

Examples

Two requests

{"log":{"entries":[{"request":{"url":"https://example.com/app.js"},"response":{"status":200,"content":{"mimeType":"application/javascript"},"_transferSize":12000},"time":80},{"request":{"url":"https://example.com/style.css"},"response":{"status":404,"content":{"mimeType":"text/css"},"_transferSize":500},"time":20}]}}
2 requests, 12.2 KB, 100 ms. Status: 200 x1, 404 x1. 1 error. Slowest: app.js (80 ms).

Frequently asked questions

What is a HAR file?

A HAR (HTTP Archive) file is a JSON log of the network activity for a page. Browsers and tools like Chrome, Firefox, Edge and Charles can export one. It records every request and response, including the URL, status code, MIME type, transfer size and timing, which makes it useful for debugging performance and failed requests.

How do I export a HAR file?

Open your browser dev tools, go to the Network tab, reload the page so requests are captured, then right-click the request list and choose 'Save all as HAR' (or use the download icon). That produces a .har file you can paste here.

Is my HAR file uploaded to a server?

No. The HAR is parsed and analyzed entirely in your browser with JavaScript. Nothing is uploaded, stored or sent anywhere, which matters because HAR files can contain sensitive data like cookies, tokens and headers.

How is transfer size measured?

For each request the analyzer uses the transfer size recorded by the browser when available, then falls back to the response body size or content size. HAR uses -1 for unknown values, which the tool treats as zero, so totals reflect only the sizes the capture actually recorded.

How are requests grouped by type?

Each request is bucketed by its response MIME type into js, css, image, html, json, font or other. The match ignores any charset suffix, so 'text/html; charset=utf-8' counts as html. This gives a quick view of what kinds of assets a page loads.

What counts as an error?

Any response with a status code of 400 or higher counts as an error, covering client errors like 404 and server errors like 500. Aborted or failed requests that have a status of 0 are listed separately and are not counted as errors.

Related tools