Offline HAR Network Waterfall Analyzer

Offline HAR Network Waterfall Analyzer: Calculates request timing breakdown: DNS lookup, Initial connection, SSL handshake, Waiting (TTFB), and Content Download.

Loading tool module...

About this offline har network waterfall analyzer

Offline HAR Network Waterfall Analyzer — browser-based utility.

How this tool works

Implements client-side Offline HAR Network Waterfall Analyzer operations. Calculates request timing breakdown: DNS lookup, Initial connection, SSL handshake, Waiting (TTFB), and Content Download specifically designed for a web performance engineer identifies ttfb and render-blocking resources from a browser har file.

  1. Protocol Message De-serialization: Parses raw DNS wire-format byte streams or HAR 1.2 JSON waterfall entries.
  2. Record Validation & Separation: Enforces RFC 6844 requirements that CAA authorization ('issue', 'issuewild') and reporting ('iodef') tags reside on separate records.
  3. Waterfall Timing Analysis: Sums network phases (blocked, dns, connect, ssl, send, wait, receive) to evaluate latency waterfalls.
  4. Visual Diagnostic Reporting: Renders color-coded waterfall timelines and highlights high-latency assets or missing HTTP caching headers.

Worked example

Scenario: Aggregate two HAR entries without timing-phase analysis.

Sample input:

{"log":{"entries":[{"time":120,"request":{"url":"https://example.com","method":"GET"},"response":{"status":200,"bodySize":512}},{"time":40,"request":{"url":"https://czoa.com","method":"GET"},"response":{"status":404,"bodySize":128}}]}}

Processing: Normalize each entry and sum time and nonnegative body bytes; sort by time and keep status 400 or higher as errors.

Illustrative output:

requests 2; totalMilliseconds 160; averageMilliseconds 80; transferredBodyBytes 640; one 404 error.

Limits and verification

Rejects combined single-line CAA records that violate RFC 6844 syntax. In HAR file analysis, protects against multi-gigabyte log allocations by parsing entry streams with memory safety bounds.

Examples demonstrate an expected workflow; they do not prove every input or every branch of an external specification. Check important results with an independent source before using them for money, security, compliance, safety, or irreversible file changes.

Browser processing boundary

Tool input is processed by code running in the browser and is not intentionally sent to a CZOA processing API. The page can still request ordinary site assets, analytics, or advertising when those services are enabled. Browser extensions and managed-device software remain outside this tool's control.

Relevant references

These references govern or help explain the format, protocol, or calculation used here. Listing a reference does not claim certification or complete implementation of every optional feature.

Content owner: CZOA Tools · Last reviewed: 2026-09-15 · Review methodology

How to use it

  1. Enter, paste, or select your input data into the Offline HAR Network Waterfall Analyzer workspace controls.
  2. Review available parameter fields, units, formats, or options configured for your task.
  3. Click the action button or observe immediate live calculations rendered in your browser runtime.
  4. Inspect the resulting output and any diagnostic messages, then copy or download the result if needed.

Frequently asked questions

What does the HAR analyzer actually calculate?+

It parses JSON and requires log.entries to be an array. For every entry it reads request.url, request.method, response.status, entry.time and response.bodySize or response.content.size, then reports counts, totals, the first five entries sorted by time, and entries with status at least 400.

Which input and result fields are available?+

The page has one text input plus Run locally and Load sample. Its JSON result contains requests, totalMilliseconds, averageMilliseconds, transferredBodyBytes, slowest and errors. It does not open HAR files, fetch listed URLs, draw a waterfall, or edit the archive.

Which parsing and numerical limits apply?+

Invalid JSON throws the JSON parser error; JSON without an entries array throws HAR input must contain log.entries. Non-finite time becomes zero, negative body sizes remain in an entry but contribute zero to transferredBodyBytes, and missing text fields become empty strings. It does not derive DNS, connection, TLS, TTFB, receive phases, cache state, render blockers or page-load completion.

What result does the worked example produce?+

In the worked example, the tool processed two independent entries into 160 total milliseconds, 640 transferred body bytes, slowest order 120 then 40, and one 404 error. This validates that aggregate vector only; it does not establish timing-phase analysis, remote fetching, or privacy across every browser environment.