HAR File Viewer

Your HAR stays in this browser. It is not uploaded, sent through Livewire, or placed in the URL.

HAR files can contain passwords, session cookies, authorization tokens, query values, and response bodies. Use a sanitized capture whenever possible.

Step 1 / 3HAR file viewer

Open a HAR capture

Reading HAR file…

Inspect an HTTP Archive without uploading it. This browser-based HAR viewer summarizes requests, status codes, transfer sizes, hosts and timing phases, then lets you search and inspect individual entries. Sensitive headers and every URL query value are hidden by default. The viewer accepts captures up to 20 MiB or 25,000 requests and keeps the working data inside your browser.

How it works

  1. 1

    Open the capture

    Choose or drop a .har or .json file. The browser validates the HAR log and request limit locally.

  2. 2

    Find the request

    Review the overview, search by method, masked URL, status or content type, and combine filters.

  3. 3

    Inspect or export

    Open request and response headers, review timing phases, and download a sanitized CSV or JSON summary.

What a HAR file contains

HAR stands for HTTP Archive. It is a JSON-based exchange format for a browser network log: the requests a page made, the responses it received, header metadata, sizes and a timing breakdown. Chrome DevTools documents how to save a sanitized HAR or a HAR with sensitive data in its Network features reference. Firefox provides Save All as HAR and Import HAR in the Network Monitor request list. The field structure follows the HAR 1.2 specification.

This viewer reads log.entries. A malformed entry without both a request and response is skipped rather than guessed. Optional fields may be absent, so an unavailable size, timestamp or phase stays unavailable. The tool never invents a status code or turns an unknown duration into zero.

Reading the overview

The overview separates facts that are known from values that were not recorded. Transfer size uses the browser-specific _transferSize when it is a valid non-negative number. Otherwise it uses headersSize + bodySize only when both values are known. Response content size is not treated as transferred bytes because compression, headers, caching and protocol overhead make those quantities different.

Field Meaning Important limitation
Requests Usable entries in log.entries Malformed entries are reported as skipped
Transferred Sum of known transfer sizes Unknown sizes are counted separately
Waterfall span From the earliest valid start to the latest recorded end Missing start times cannot be positioned reliably
Status groups Recorded 2xx, 3xx, 4xx and 5xx responses A missing status remains unavailable
Hosts Distinct parsed host names Invalid or relative URLs may have no host

Search is literal and case-insensitive; characters such as [ or .* are not interpreted as regular expressions. Filtering changes the visible request list and exported rows, not the capture totals.

How timings are handled

HAR commonly records blocked, dns, connect, ssl, send, wait and receive in milliseconds. A value of -1 means the phase is unavailable. Values below -1, non-numeric values and non-finite numbers are also treated as unavailable.

ssl is normally a portion of connect, not an extra phase after it. Therefore the fallback duration sums blocked, DNS, connect, send, wait and receive without adding SSL again. When the entry’s reported total differs materially from the available phases, the viewer preserves the reported total and shows a warning instead of silently rewriting the capture. Waterfall geometry is always left-to-right, including on an Arabic page, because elapsed time has a fixed chronological direction.

Privacy and safe handling

A HAR may contain enough information to take over a signed-in session. Chrome specifically distinguishes sanitized exports from exports containing Cookie, Set-Cookie and Authorization data. This viewer masks those headers, proxy authorization, API-key-like headers and all URL query values by default. Revealing a header is an explicit local action. Imported strings are rendered as text, so markup inside a URL or header is not executed.

The viewer does not retain request bodies, response bodies, postData or cookie arrays in its working model. In the multi-step flow it stores a bounded, body-free project in IndexedDB for this browser tab, referenced by an opaque tab marker and expired after two hours. It does not replay requests, contact captured hosts or send the HAR through Livewire. Starting over deletes the saved project.

Exports are summaries, not copies of the original capture. URLs remain query-masked, header values and bodies are omitted, CSV cells are protected against spreadsheet-formula execution, and only the current filtered request rows are included. Even so, review any exported file before sharing it: host names, paths and status patterns can still disclose internal systems.

Practical workflow

  1. Prefer the browser’s sanitized HAR export.
  2. Reproduce only the failing page flow, then stop recording.
  3. Open the capture here and filter by status, host path or content type.
  4. Compare long waits with DNS, connection and receive time, while remembering that browser and proxy implementations may omit phases.
  5. Share only the sanitized summary needed for diagnosis, never the original capture unless the recipient and transfer channel are trusted.

Frequently Asked Questions

No. Parsing, filtering, detail inspection and exports happen in your browser. The file is not sent through Livewire or placed in the page URL.

HAR captures can include session cookies, bearer tokens, API keys and sensitive query parameters. The viewer hides every query value and recognized security-sensitive headers by default to reduce accidental disclosure.

Browsers and capture tools do not always record every optional HAR field. The viewer preserves that uncertainty instead of displaying a guessed zero.

Usually no. HAR records SSL as a subset of the connection phase, so the fallback total does not add SSL a second time.

No. It deliberately does not contact captured hosts or replay requests. Use browser DevTools in an authorized environment if you need to reproduce network behavior.

Related Tools