TapCub is live — analytics, insights and live chat, free on one platform
Glossary

HAR file: what it is, what is inside and how to read it

A HAR file is a JSON record of every network request a browser made. What is inside, how to read the timings, how to create one, why it contains sensitive data and how to use it to debug analytics tracking.

Chen Yu Reviewed by Xu An Also called HTTP Archive Last updated Nov 5, 2026 Glossary

Quick answer

A HAR (HTTP Archive) file is a JSON log of the network requests a browser made while loading a page, including URLs, headers, cookies, bodies, status codes and per-request timings. It is exported from browser developer tools for troubleshooting.

What is a HAR file?

A HAR file (HTTP Archive) is a JSON file that records every network request a browser made while loading or using a web page: the URL, method, headers, cookies, request and response bodies, status codes and a timing breakdown for each request. Browsers export it from their developer tools, and support teams ask for one because it shows exactly what happened between a browser and a server.

The format was defined by Jan Odvarko and the W3C Web Performance working group; version 1.2 is what browsers produce today. The file extension is .har.

What is inside a HAR file

A simplified excerpt (sample):

{
  "log": {
    "version": "1.2",
    "creator": { "name": "WebInspector", "version": "537.36" },
    "pages": [{ "id": "page_1", "title": "https://example.com/pricing" }],
    "entries": [{
      "startedDateTime": "2026-11-06T09:14:03.120Z",
      "time": 199.4,
      "request":  { "method": "POST", "url": "https://example.com/api/v1/pulse", "headers": [], "postData": {} },
      "response": { "status": 202, "headers": [], "content": { "size": 0 } },
      "timings":  { "blocked": 2, "dns": 18, "connect": 31, "ssl": 22, "send": 0.4, "wait": 142, "receive": 6 }
    }]
  }
}
  • pages: one entry per page load in the capture.
  • entries: one per request, in order, each with request, response, cache and timings.
  • timings: how long each phase took, in milliseconds.

Reading the timings

PhaseWhat it measuresWhen it is large
blockedWaiting in the browser queueToo many requests to one host, low priority
dnsDomain name lookupNew domain, slow resolver
connectTCP connection (includes TLS)New connection, distant server
sslTLS handshake (part of connect)New HTTPS connection
sendSending the requestLarge uploads
waitWaiting for the first byte of the responseSlow server or backend work; this is the request's time to first byte
receiveDownloading the responseLarge responses, slow network

In the example, time = 2 + 18 + 31 + 0.4 + 142 + 6 = 199.4 ms, and most of it is wait: the server took 142 ms to answer. A request dominated by blocked or dns points to the page or network rather than the server. See time to first byte.

How to create a HAR file

In every major browser the steps are similar:

  1. Open developer tools (F12, or Cmd+Option+I on a Mac) and go to the Network tab.
  2. Turn on Preserve log so requests survive page navigation.
  3. Reproduce the problem: reload the page and click through the steps.
  4. Export: right-click the request list (or use the download icon) and choose Save all as HAR / Export HAR.

Recent versions of Chrome offer a sanitized export by default that leaves out cookies and authorization headers; exporting with sensitive data requires turning on a separate setting. For browser-specific steps and what to check before sending one, see how to capture a HAR file.

HAR files contain sensitive data

A full HAR can include everything the browser sent and received:

  • Cookies and session tokens, which can let someone act as you if they are still valid
  • Authorization headers and API keys
  • Form data, including anything typed into fields during the capture
  • Personal data in URLs, request bodies and responses

Before you share one: use a sanitized export where available, capture in a private window with a test account, log out afterwards to invalidate session cookies, and open the file in a text editor to search for tokens or emails. Only send HAR files to support teams you trust, through their official channel.

How HAR files help with analytics problems

When a tracking setup reports nothing, too little or doubled data, a HAR file shows what the browser actually did:

  • Did the script load? Look for the analytics script request (for TapCub, client.js) and its status.
  • Was the hit sent? Look for the collect request (for TapCub, a POST to /api/v1/pulse on the script's origin). No request means the event never left the browser.
  • Was it blocked? Entries that fail with a blocked status usually mean an ad blocker or a content security policy stopped them; see do ad blockers block TapCub.
  • What did the server answer? TapCub's collector returns 202 both for stored hits and for hits it drops (for example, an unregistered domain), so check the realtime report alongside the HAR; see check installation.
  • Is anything sent twice? Two collect requests per page view usually mean the snippet is installed twice.

Tools for viewing HAR files

  • Browser developer tools can import a HAR into the Network tab for a familiar view.
  • Google's Admin Toolbox HAR Analyzer visualizes timings and can redact some fields.
  • Any JSON viewer or text editor works for searching.

Sources

Was this explanation clear?

We use your answers to fix and expand this page.

Chen Yu

Technical Engineer

Focuses on tracking code, SDKs, and API integrations, with practical guidance on implementation checks and troubleshooting.

FAQ

Questions people ask

Short answers to the follow-up questions that come up most.

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

What is a HAR file used for?

Troubleshooting web problems: support and engineering teams use it to see which requests a browser made, what failed and where time was spent.

Is it safe to share a HAR file?

Only with care. A full HAR can contain cookies, session tokens and form data. Use a sanitized export, record in a private window and log out afterwards.

How do I open a HAR file?

Import it into the Network tab of browser developer tools, use a HAR viewer such as Google’s HAR Analyzer, or open it in any text editor since it is JSON.

What does the wait time in a HAR mean?

It is the time from sending the request to receiving the first byte of the response, the request’s time to first byte. Long waits usually point to the server.

See this number on your own site

Add one script tag for web and apps, and the first reports fill in within minutes.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics