What Is a HAR File?
A HAR (HTTP Archive) file is a JSON-formatted log of every network request and response between a web browser and a website. When you record network activity in Chrome DevTools, Firefox, Safari, or Edge and export it, you get a .har file.
Each entry in a HAR file captures:
- URL and HTTP method (GET, POST, PUT, DELETE, etc.)
- Request and response headers (including cookies, auth tokens, content types)
- Status codes (2xx success, 3xx redirect, 4xx client error, 5xx server error)
- Timing breakdown (DNS lookup, TCP connection, SSL handshake, server wait time, download)
- Payload data (request bodies, response content, including base64-encoded images and media)
- Cookie details (name, value, domain, path, expiry, security flags)
HAR files are the standard format for capturing web network traffic. Developers, QA engineers, DevOps teams, and support engineers use them to debug slow pages, track down failing API calls, and diagnose network issues.
Why HAR Files Get Extremely Large
A simple page load might generate a few dozen requests. Real-world web applications produce far more:
- Single Page Applications make hundreds of API calls during a session
- E-commerce sites load product images, tracking scripts, and third-party widgets
- Admin dashboards fetch large JSON payloads from multiple endpoints
- Long recording sessions accumulate thousands of requests
- Response bodies included in the HAR (images, fonts, scripts) inflate file size dramatically
HAR files of 50 MB, 200 MB, or well over 1 GB are common when recording complex applications or extended debugging sessions. That's when most HAR analysis tools break down.
The Problem: Most HAR Tools Can't Handle Large Files
Browser DevTools Struggle
Chrome DevTools can import HAR files, but loads everything into memory at once. With files over 100 MB:
- Loading takes minutes
- The browser tab becomes unresponsive
- Chrome sometimes saves a 0-byte file when the export itself is too large
Online HAR Analyzers Require Uploading
Most HAR analysis tools are web-based — you upload your file to their server for processing. Two problems:
- Privacy risk: HAR files contain auth tokens, session cookies, API keys, and sometimes passwords in POST bodies. Uploading means sending all of this to someone else's infrastructure.
- Size limits: Web-based tools typically fail with files over 10-50 MB. JavaScript runtimes have strict memory limits.
Desktop Tools Are Heavyweight
Tools like Fiddler and Charles Proxy can import HAR files, but they're full proxy applications designed for live traffic capture — not quick HAR file analysis. They require installation and configuration.
Mobile HAR Readers Are Basic
The few HAR file reader apps on Google Play offer minimal functionality — basic request lists without filtering, performance analysis, or timing breakdowns, and they can't handle large files.
Analyzing HAR Files on Android with Giant JSON Viewer
Giant JSON Viewer includes a dedicated HAR analyzer for opening and reading HAR files of any size — from small session logs to multi-gigabyte captures — directly on your Android device, completely offline. As a full-featured HAR viewer for Android, it goes far beyond basic file reading.
Open Any HAR File
Open any .har file and the app detects the format and launches the HAR Analyzer. The file is indexed progressively with a real-time progress indicator and cancel support. Once indexed, reopening the same file loads instantly from cache.
Dashboard Overview
The HAR analyzer dashboard provides an immediate summary of network traffic:
- Requests: Total number of network requests in the capture
- Transfer Size: Total data transferred across all requests
- Avg Response Time: Color-coded — green for fast (<200ms), amber for moderate, red for slow (>1s)
- Errors: Count of 4xx and 5xx responses, highlighted in red when problems exist. Tap to jump directly to the error list.
The dashboard also shows the recording tool and version (e.g., Chrome DevTools), HAR format version, capture duration, and date range of the recording.
Timing Waterfall
A visual breakdown shows where time is spent across all requests, split into seven network phases:
- Blocked — request queued by the browser
- DNS — domain name resolution
- Connect — TCP connection establishment
- SSL — TLS/SSL handshake
- Send — sending the request data
- Wait — waiting for the server response (Time To First Byte)
- Receive — downloading the response body
What do these phases mean?
Every time your browser makes a request, it goes through these steps in order. If "Wait" is high, the server is slow. If "DNS" is high, name resolution is the bottleneck. If "Blocked" is high, too many requests are queued. Understanding which phase takes the most time tells you exactly where the problem is.
Toggle between Average (per-request) and Sum (total accumulated) views to understand both typical and overall impact.
Status Code Chart
A visual bar chart shows the distribution of HTTP response codes (2xx, 3xx, 4xx, 5xx). Tap any category to jump to a filtered view of those requests.
What are HTTP status codes?
Status codes are three-digit numbers that tell you what happened with a request. 2xx means success (200 OK). 3xx means the browser was redirected. 4xx means something was wrong with the request (404 Not Found). 5xx means the server had an error. A healthy capture should be mostly 2xx.
Domain Breakdown
See all unique domains with their request count, transfer size, average response time, and error count. Sort by any metric. Toggle between average and total response times. Tap any domain to see all requests to that domain.
This is especially useful for web performance analysis — identify which third-party domains (ad networks, analytics, CDN providers) are slow or returning errors.
Slowest Requests
The top 10 slowest requests are highlighted on the dashboard with color-coded method badges, status codes, and response times. Tap any request to see full detail, or tap "Show All" to view the complete list sorted by response time.
Full Request List with Search and Filters
Browse all requests in a scrollable list. This HAR reader loads requests in pages to keep memory low, even with tens of thousands of entries.
Search across all URLs with instant results. Sort by chronological order, response time, transfer size, or status code. Filter across five dimensions:
- HTTP method (GET, POST, PUT, DELETE, PATCH, etc.)
- Status code category (2xx, 3xx, 4xx, 5xx)
- Content type (XHR, JavaScript, CSS, Images, Fonts, Media, WebSocket, etc.)
- Response time threshold (>100ms, >500ms, >1s, >2s, >5s, >10s)
- Domain
Filters can be combined. A badge shows active filter count, and one-tap "Clear All" resets everything.
Request Detail View
Tap any request to open a detailed six-tab view:
- Headers: Request and response headers in organized key-value tables with long-press copy
- Cookies: Full cookie details including HttpOnly, Secure flags, domain, path, and expiry
- Request: HTTP method, URL, version, query parameters, and request body
- Response: Status, response body preview with syntax highlighting. For large bodies, a "View Full Body" button opens the full content
- Timings: Per-request timing waterfall showing exactly where time was spent
- Security: Server connection info, SSL handshake timing, and security response headers (HSTS, CSP, X-Frame-Options, and more)
Embedded Content Detection
HAR files often contain base64-encoded images, SVGs, audio, and video within response bodies. The HAR file analyzer automatically detects embedded content formats, shows inline previews for images and SVGs, and provides an Extract button to decode and save any embedded file to your device.
What is base64 encoding?
Base64 is a way to represent binary data (like images) as text characters. When Chrome records a network capture, it often stores image and media responses as base64 text inside the HAR file. The HAR analyzer detects these automatically and can preview or extract the original file.
Copy as cURL
Export any HAR request as a ready-to-use cURL command, copied to your clipboard with one tap. Headers are intelligently filtered so the command works immediately in any terminal.
What is cURL?
cURL is a command-line tool for making HTTP requests. Developers use it to test APIs and replay requests. Exporting a HAR request as cURL lets you reproduce the exact same request outside the browser for debugging.
Clone to API Client
Take any request from your HAR capture and replay it in the built-in API Client. The HTTP method, URL, headers, and body are imported automatically. This lets you modify parameters and re-send the request for debugging — going from HAR file analysis directly to active API testing without leaving the app.
Why Offline HAR Analysis Matters
HAR files routinely contain:
- Authentication tokens (Bearer tokens, API keys, JWTs)
- Session cookies (login state, CSRF tokens)
- POST request bodies (form submissions with passwords, personal data, payment info)
- Internal API endpoints (revealing backend architecture and service names)
Uploading a HAR file to any online analyzer means sending this sensitive data to a third-party server. Even if the service promises to delete files after processing, the data has already left your control.
A proper HAR analyzer app should process everything locally. Giant JSON Viewer does exactly that — no upload, no cloud, no third-party access. Your HAR data stays on your phone.
Common HAR Analysis Use Cases
Debugging Slow Pages
Export a HAR from your browser, open it in the HAR reader, and see which requests are slowest. Use the timing waterfall to determine whether the bottleneck is DNS resolution, server processing, or download speed.
Finding Failed API Calls
Filter by 4xx and 5xx status codes to isolate all failing requests. Inspect headers and response bodies to understand why they failed.
Analyzing Third-Party Performance
Sort the domain breakdown by response time or transfer size to find which third-party services hurt your site's web performance. Ad networks, analytics scripts, and social widgets are common offenders.
QA and Support
When a user reports "the page is slow" or "something broke," a HAR file provides the full picture. Open it on your phone, analyze the network traffic on the spot, and identify the issue without needing a laptop.
API Testing Workflow
Use Clone to API Client to take a real request from a HAR recording and replay it with modifications. Change parameters, remove headers, test different payloads — all from this mobile HAR reader.
How to Generate a HAR File
Chrome
- Open DevTools (F12 or right-click > Inspect)
- Go to the Network tab
- Enable Preserve log if you need cross-navigation recording
- Reproduce the scenario
- Right-click the request list > Save all as HAR with content
Firefox
- Open Developer Tools (F12)
- Go to Network tab
- Reproduce the scenario
- Click the gear icon > Save All As HAR
Safari
- Enable Developer menu (Preferences > Advanced)
- Open Web Inspector > Network tab
- Reproduce the scenario
- Click Export
Edge
- Open DevTools (F12)
- Go to Network tab
- Reproduce the scenario
- Click the Export HAR button
Tips for Working with Large HAR Files
- Clear browser cache before recording to avoid cached responses inflating the file
- Disable "Preserve log" unless you specifically need cross-page recording
- Filter in the browser first if you only need specific request types
- Close unnecessary tabs to reduce background network noise
- Compress HAR files (zip) before transferring — they compress well since they're JSON text
- Use a dedicated HAR viewer for Android like Giant JSON Viewer when your HAR file is too large for browser DevTools or online HAR analyzers
Frequently Asked Questions
What is the best HAR file analyzer for Android?
Giant JSON Viewer is a HAR analyzer app for Android that handles files of any size, works completely offline, and provides a full analysis dashboard with filtering, timing breakdowns, domain analysis, and detailed request inspection.
Can I open large HAR files on my phone?
Yes. As a HAR viewer for Android, Giant JSON Viewer handles multi-gigabyte HAR files without crashes or excessive memory usage. Files are indexed progressively and requests are loaded on demand.
Is it safe to upload HAR files to online analyzers?
HAR files contain sensitive data including authentication tokens, cookies, and potentially passwords. Uploading to online tools means sending this to third-party servers. An offline HAR analyzer like Giant JSON Viewer processes files entirely on your device — no upload required.
How do I read a HAR file?
HAR files are JSON-formatted, so any JSON viewer can open them. However, a specialized HAR file reader provides structured analysis — a dashboard overview, timing waterfall, domain breakdown, multi-dimension filtering, and request-level detail — rather than just showing raw JSON text.
What is inside a HAR file?
A HAR file contains a complete log of HTTP requests and responses: URLs, methods, headers, cookies, query parameters, request/response bodies, timing data for each network phase, and connection security details. It's the standard format for capturing and sharing web network traffic.
Can I export a request from a HAR file as cURL?
Yes. Tap any request in the HAR file viewer and use "Copy as cURL" to get a formatted command ready to paste into your terminal.
Can I replay a HAR request for testing?
Yes. The "Clone to API Client" feature imports any HAR request into the built-in API Client, where you can modify and re-send it. This mobile HAR analyzer feature is useful for debugging specific API calls captured during network traffic analysis.
Analyze HAR Files on Android
Open, filter, and debug HAR files of any size — completely offline, with full privacy.
Get Giant JSON Viewer