---
url: https://findutils.com/blog/debug-failed-requests-with-a-har-file
title: "How to Debug a Failed HTTP Request From a HAR File"
description: "Export a DevTools HAR, find the failing request in a browser viewer, copy cURL, then replay a public host. The HAR file stays on your device."
category: developer
content_type: blog
locale: en
read_time: 4
status: published
author: "codewitholgun"
published_at: 2026-08-27T08:20:00Z
updated_at: 2026-08-27T08:20:00Z
excerpt: "A practical debug path: save a HAR, inspect the table, copy one cURL, and send the public request again. Parse stays in the browser."
tag_ids: ["developer-tools", "har", "http", "debugging", "curl"]
tags: ["Developer Tools", "HAR", "HTTP", "Debugging", "cURL"]
primary_keyword: "debug HTTP request from HAR"
secondary_keywords: ["HAR file debugging", "copy HAR to curl", "replay failed request", "devtools har workflow", "inspect network log online"]
tool_tag: "har-viewer"
related_tool: "har-viewer"
related_tools: ["har-viewer", "http-request-builder", "har-to-curl", "curl-to-code"]
og_image: "/images/content/blog/har-http-debug-path.webp"
image_alt: "A HAR waterfall becomes a single highlighted request, then a portable command, then a request-and-response pair."
---

The fastest way to debug a failed HTTP request is to export the browser network log as HAR, find the bad row, and copy it as cURL. FindUtils [HAR Viewer](/developers/har-viewer/) parses that JSON in your browser so you can read method, URL, status, size, and time without uploading the file.

This post walks that path end to end. It also states when you should stop: localhost, private hosts, and secret headers do not belong in a public builder.

## Why Start From a HAR File

A screenshot of DevTools loses headers and timing. A HAR file keeps the session as JSON. Anyone with the file can open the same table.

Start from HAR when:

- **The failure only happens in the browser.** The log shows redirects, CORS preflights, and the real URL.
- **You need a command, not a story.** One row becomes cURL.
- **You must keep the capture local.** Client-side parse does not send the file to FindUtils.

Treat the export as sensitive. HAR files often include cookies and authorization headers.

## A Four-Step Debug Path

### Step 1: Capture only the failing flow

Open the network panel. Clear it. Reproduce the bug. Save HAR. A smaller file is easier to read and stays under the viewer’s 20 MB text limit.

### Step 2: Inspect the table

Open the FindUtils [HAR Viewer](/developers/har-viewer/). Drop the file. Find the 4xx or 5xx row, or the slow one. The viewer does not render HAR as HTML.

### Step 3: Copy cURL, then strip secrets

Copy the row. Replace live tokens with placeholders before you paste the command into a ticket. If you need many commands, use [HAR to cURL](/developers/har-to-curl/).

### Step 4: Replay only public hosts

If the URL is a public `http` or `https` host, rebuild it in the [HTTP Request Builder](/developers/http-request-builder/). Private, local, and metadata addresses are rejected. Timeout is 15 seconds. Body limit is 64 KB. For a local API, run cURL on your machine instead.

Convert a clean command into code with [cURL to Code](/developers/curl-to-code/) when the fix belongs in a script.

## HAR Workflow vs Guessing in the UI

| Approach | What you see | Secret risk | Replay |
|----------|--------------|-------------|--------|
| Screenshot of DevTools | One moment, incomplete | Low, but URLs leak | None |
| HAR in FindUtils viewer | Method, URL, status, size, time | File stays in the browser | Copy cURL only |
| Public HTTP Request Builder | Live status, headers, body | Only if you paste secrets | Public hosts only |
| Desktop client or local cURL | Full control | Your machine | Localhost allowed |

**Best for:** Use the viewer to understand the capture. Use the builder for a short public replay. Use local cURL when the host is private.

## Common Mistakes

### Mistake 1: Sharing the raw HAR

Strip cookies and tokens first. Share the row index and a redacted command.

### Mistake 2: Replaying localhost through the builder

The builder rejects loopback and private ranges on purpose.

### Mistake 3: Converting the whole session when you need one row

The viewer copies one entry. That is usually enough for a bug report.

## Tools Used in This Guide

- **[HAR Viewer](/developers/har-viewer/)** — Parse HAR JSON and copy one cURL
- **[HAR to cURL](/developers/har-to-curl/)** — Convert many HAR entries
- **[HTTP Request Builder](/developers/http-request-builder/)** — Send a public HTTP request
- **[cURL to Code](/developers/curl-to-code/)** — Turn cURL into code

## FAQ

**Q: Is this HAR workflow free?**
A: Yes. FindUtils HAR Viewer, HAR to cURL, HTTP Request Builder, and cURL to Code are free, with no signup.

**Q: Does FindUtils upload my HAR?**
A: No. Parse runs in the browser. The page may still load analytics or ads.

**Q: Can I replay any captured URL?**
A: The HTTP Request Builder allows public `http` and `https` hosts only. Localhost and private ranges are rejected.

**Q: What is the HAR size limit on the viewer page?**
A: 20 MB of text.

**Q: Does the viewer execute JavaScript from the HAR?**
A: No. It does not render HAR as HTML.

**Q: Should I put authorization headers in a public builder?**
A: Prefer placeholders. If you must replay auth, do it on your own machine.

## Next Steps

- Follow the [HAR viewer guide](/guides/har-viewer-guide/)
- Follow the [HTTP request builder guide](/guides/http-request-builder-guide/)
- Convert collections with the [Postman to cURL guide](/guides/postman-to-curl-guide/)
- Browse the [complete guide to online developer tools](/guides/complete-guide-to-online-developer-tools/)
