Turn a HAR recording into a JMeter test plan
Record a journey in Chrome DevTools, save the HAR, and get a runnable JMeter test plan back — with the values that change between runs already identified. It runs inside your browser tab, so the recording never leaves your machine. That matters more for a HAR than for almost anything else you own: it contains every header and every cookie of a real session.
Convert a HAR recording nowThe recording is the live tool doing a real conversion — nothing in it is mocked. Loads from YouTube only when you press play.
How to do it
-
Record the journey in Chrome
Open DevTools (F12) → Network. Tick Preserve log so the recording survives page navigations, then walk through the journey you want to test — log in, search, add to basket, whatever the script needs to do.
-
Save it as a HAR
Right-click anywhere in the request list → Save all as HAR with content. That file now holds every cookie, header and response body from the session, which is why the next step never uploads it.
-
Drop the .har on the converter
Open the converter with HAR → JMeter already selected, drag the file onto the page, click Convert. A .jmx comes back in a few milliseconds. Watch the Network panel while it does: nothing leaves the tab.
-
Open the .jmx in JMeter and fix what the warnings list
Static assets are already filtered out. What is left is correlation: any session ID or CSRF token the server issued while you recorded is baked into the script and will be stale on the next run. The converter names the values it thinks will need extracting; add a JSON or regex extractor for each before you run it with more than one user.
What it handles
- Every request in the recording, with method, headers, query string and body
- Groups requests into transactions by page load
- Applies think times from the real gaps between requests
- Detects session tokens, CSRF values and generated identifiers, and tells you which need extracting
- Filters out static assets so you get the journey, not 300 image requests
- Also targets k6 and Gatling from the same recording
What it will not do
- The free browser version stops at 25 HTTP requests — one user journey, not a full suite.
- A HAR records what happened, not what the application meant. Anything dynamic still needs a human decision about how it should be generated next time.
- WebSocket frames and streamed responses are not represented in a HAR, so they cannot be recovered from one.
Questions
Is my recording uploaded?
No, and it cannot be. The converter runs as WebAssembly inside the tab, on an origin whose Content-Security-Policy forbids every kind of network request. Most online converters ask you to upload the file to their server; a HAR from a logged-in session contains live credentials and cookies, so that is a meaningful difference rather than a marketing one.
How do I record a HAR?
Open Chrome DevTools, go to the Network tab, tick "Preserve log", walk through the journey you want to test, then right-click the request list and choose "Save all as HAR with content".
Do I get a working script straight away?
You get a runnable test plan, but a recording replayed verbatim usually fails on the second run, because tokens and identifiers from the recorded session are no longer valid. The converter reports which values those are so you can extract them.
Can it convert to k6 or Gatling instead?
Yes — pick the target on the page. The same recording can produce a JMeter, k6 or Gatling script.
Try it on your own file
No account, no upload, no email address. It runs in the tab and stops when you close it.
Convert a HAR recording nowRelated reading
The other free tools
- Convert a JMeter script to k6
You have a JMeter plan and the next project runs k6 — see what survives before deciding.
- Open a .jtl results file and read the report
You have run a test and have a .jtl, k6 JSON or simulation.log — get the report without a tool install.
- Script scanner
You are about to send a script to a colleague, a vendor or us — find the credentials, hostnames and personal data in it first.
- Load model calculator
You have a target throughput and think time and need the thread count — the arithmetic, done once, before the test.