HAR analyzer

Open a HAR file to see what the browser loaded. Every request is listed with its status, size and timing on a waterfall. Filter for errors, read the headers and responses, and download a copy without cookies. The file is read in this browser and never uploaded.

.har files from Chrome, Edge, Firefox and Safari, up to 200 MB, no upload

Drop a HAR file here

Or choose a .har file, up to 200 MB. It stays on your device.

How to read a HAR file

Choose or drop a .har file, or try the example. The analyzer lists every request in the order it started, with the number of requests, errors, bytes transferred and the total time at the top. Click a column heading to sort, for example by Time to find the slowest requests or by Size to find the largest.

Find errors and slow requests

Choose Errors to show only requests that failed or returned a 4xx or 5xx status, or filter by type, such as Fetch/XHR for API calls. Type part of a URL to narrow the list. The waterfall shows when each request started and how long it took, so requests that waited on others stand out.

Headers, payload, response and timing

Click a request to open its details: the request and response headers, the query string and request body, the response body (JSON is formatted and images are shown), the cookies, and a timing breakdown from DNS lookup to content download. Responses are shown as text and never run, so a saved page can’t execute scripts here.

How to open a HAR file

A HAR file is plain JSON text, so any text editor can open it, but even a small recording is hard to read that way. To see it as a list of requests, drop it on this page. In Chrome and Edge you can also drag the file onto the Network tab of the developer tools.

How to create a HAR file

Chrome and Edge: open the developer tools with F12 (Cmd+Option+I on a Mac), go to the Network tab, tick Preserve log, reload the page and repeat the problem, then click the Export HAR button (the download arrow) and save the file. Recent versions of Chrome leave cookies and sign-in headers out of the export unless you turn that on in the developer tools settings.

Firefox: open the Network panel with Ctrl+Shift+E (Cmd+Option+E on a Mac), reload the page and repeat the problem, then right-click any request and choose Save All As HAR.

Safari: turn on Show features for web developers in Settings, Advanced, open Web Inspector with Cmd+Option+I, go to the Network tab, repeat the problem and click Export.

What is a HAR file?

HAR (HTTP Archive) is a JSON format that records a browser’s network activity: for each request, the URL, method, headers, cookies, status, timing and often the response body. Browsers export it from their developer tools, and support teams ask for one to see what went wrong on a page. The format is described in the HAR 1.2 specification.

Before you share a HAR file

A HAR file can hold everything sent and received while recording, including cookies, sign-in tokens, form fields and personal data in responses. Download HAR without cookies saves a copy with the cookie lists emptied and the values of the Cookie, Set-Cookie and Authorization headers, and of headers whose names contain token, key, secret, session, CSRF or password, replaced with [removed]. URLs, request bodies and responses are kept as they are, so check them before you share the file.

Supported files and limits

This tool opens .har files, and HAR data saved as .json, up to 200 MB, from Chrome, Edge, Firefox, Safari, Charles, Fiddler and other tools that write HAR 1.2. Large files need a lot of memory, so a phone may not open the largest ones. Response bodies longer than 500,000 characters are shown in part and can be downloaded in full.

Frequently asked questions

Is my HAR file uploaded? No. The file is read and analyzed on your device, and nothing in it is sent anywhere. That matters, because HAR files often contain cookies and sign-in tokens.

Why are some response bodies missing? A response body is only in the file if the browser saved it when exporting. Requests that failed, were redirected or were cancelled have no body, and some browsers leave out large or binary responses. The analyzer says when a body wasn’t saved.

What do the timing phases mean? Queued and stalled is time spent waiting to start, DNS lookup finds the server’s address, the initial connection opens it (including the TLS handshake for HTTPS), request sent is the upload, waiting for server response is the time to the first byte, and content download is the time to receive the rest.

What does a Failed status mean? The request got no HTTP response: it was blocked, for example by an ad blocker, cancelled, or failed on the network. Open the request to see the error the browser recorded, such as net::ERR_BLOCKED_BY_CLIENT.