HAR to Markdown

Turns a captured .har file into a readable Markdown writeup, a summary table of every request, then one section per request with its headers in a code block. Paste straight into a PR description, bug report, or Slack message.

Private by architecture: All processing is 100% client-side memory. Your data never leaves this browser tab.
HAR input
0 charsJSON
Markdown
Ctrl/Cmd+Shift+C
0 charsMarkdown

About This Tool

Reuses the same HAR parsing as HAR File Viewer, then formats the result as plain Markdown: a ## API Calls Summary table (method, path, status, time) followed by one ### section per request with its request and response headers, and request body, when the capture included one; each in its own fenced code block.

Useful when a HAR file needs to be shared somewhere that doesn't render JSON nicely: a GitHub PR description, a bug tracker comment, or a Slack thread. For the same data as a browsable table instead, use HAR File Viewer; for an OpenAPI skeleton, see HAR to OpenAPI.

Key Features

  • Summary table first: method, path, status, and time for every request at a glance.
  • Per-request sections: numbered ### headings with full request/response headers.
  • Request body included: shown in its own fenced block when the HAR captured postData.text.
  • Query strings kept in the path column: nothing is stripped, unlike the OpenAPI converter.
  • Upload or paste: drop a .har file or paste JSON directly.

Example

A HAR with one request produces:

## API Calls Summary

| Method | Path | Status | Time (ms) |
| --- | --- | --- | --- |
| GET | /users?page=1 | 200 | 182 |

### 1. GET /users?page=1, 200

Full URL: `https://api.example.com/users?page=1`

**Request headers:**
```
Accept: application/json
```

**Response headers:**
```
Content-Type: application/json
```

FAQ

Does it include response bodies?
No, only the request body (when captured). Response bodies can be large and binary; use HAR File Viewer to inspect those in full.
Is the path column the same as in HAR to OpenAPI?
No, here the query string is kept as part of the path for full context; HAR to OpenAPI strips it to group requests by endpoint.
Can I paste this straight into a GitHub PR description?
Yes, that's exactly the intended use, GitHub, GitLab, and most issue trackers render the table and code blocks as-is.