← All docsGet started

Getting started

Export a HAR from your browser, drop it in, and get a ranked report — no account needed.

What's a HAR file?#

A HAR (HTTP Archive) is a JSON recording of every network request a page made while it loaded: URLs, timings, sizes, headers, and response metadata. Every major browser can export one from its developer tools. It's the raw material Harpoon analyzes — a complete, replayable picture of how your page actually loaded for you.

A HAR can contain cookies and other sensitive headers from your session. Prefer your browser's sanitized export where offered, and see Security & your data for what Harpoon does (and never does) with an upload.

Exporting a HAR from your browser#

Chrome / Edge

  1. Open DevTools (F12 or Cmd/Ctrl+Shift+I) → Network tab.
  2. Tick Preserve log, then hard-reload the page (Cmd/Ctrl+Shift+R) so the capture starts from a cold load.
  3. Click the export arrow (↓) above the request table — choose the sanitized HAR export if offered (it strips cookies).

Firefox

  1. Open DevTools → Network tab and reload the page.
  2. Click the gear icon on the right of the toolbar → Save All As HAR.

Safari

  1. Enable the Develop menu (Settings → Advanced → Show features for web developers).
  2. Develop → Show Web Inspector → Network tab, reload, then click Export.
  • Capture in a private/incognito window so browser extensions don't pollute the recording.
  • Let the page finish loading (spinner stops, network goes quiet) before exporting.
  • For a before/after experiment, capture both states the same way — see Comparing runs.

Analyzing it#

Drop the .har file on the Analyze page — no account needed. The deterministic engine parses every request, builds the waterfall, runs its rule set (caching, compression, render-blocking, third parties, redirects, and more), and scores the page 0–100. The same file always produces the same findings — there's no sampling and no model in that loop.

Signing in adds the AI report (an explanation layered on top of the engine's findings) and saves the run to your history so you can track it over time.

Upload limits#

  • Anonymous uploads are capped (default 6 MB, deployment-configurable via ANON_MAX_UPLOAD_BYTES) and rate-limited per IP.
  • Signed-in uploads allow larger files (default 100 MB, via MAX_UPLOAD_BYTES).
  • Captures with an extreme number of requests are refused (default 50,000 entries, via MAX_HAR_ENTRIES) — that's virtually always a runaway recording, not a page load.

Hitting a size limit usually means the recording ran too long — re-capture just the page load rather than a whole browsing session.

Next steps#

Still stuck? Email us or browse all guides.