Perf Script Studio
A browser recording or an existing script in, a runnable JMeter, k6 or Gatling test out — with the values that change between runs already extracted.
One-time payment — perpetual licence, every feature, all six directions
What's Included
Not ready yet?
Get notified about updates and early-bird pricing.
You're on the list.
Something went wrong — please try again.
No spam. Unsubscribe any time.
Overview
Perf AutoCorrelator and Perf Migrator are now one tool. Both were built around the
same internal model of a test plan, so keeping them apart meant maintaining two parsers,
two sets of generators and two licences for one job. If you own either, your command name
still works and this is a free upgrade — run update.
Three things, one binary:
generate— a HAR recording in, a runnable JMeter, k6 or Gatling script out, with the values that change between runs already extracted, think times taken from the recording’s own timings, and parallel requests grouped the way the tool models them.correlate— point it at a script you already have and it reports the hardcoded session ids, CSRF tokens and JWTs that were valid when it was written and are stale on the next run.convert— JMeter, k6 and Gatling, in all six directions.
One price. Every feature, every direction, no tiers.
Supported Tools
| Tool | Output Format | Variable Syntax |
|---|---|---|
| JMeter | .jmx (XML test plan) | ${variableName} |
| Gatling | .scala (Simulation class) | #{variableName} |
| k6 | .js (ES module) | let varName |
Key Features
Auto-Correlation Engine
- One detection, multiple outputs - Detect correlations once, export to JMeter, Gatling, or k6
- 50+ detection patterns across 8 categories
- Value-shape detection - UUIDs, base64, JWTs, MongoDB ObjectIDs, long tokens
- Auto-substitution - Replace hardcoded values with variables in subsequent requests
- Boundary-based regex - Context-aware patterns like
"token": "([^"]+)"
Pattern Categories
| Category | Patterns | Examples |
|---|---|---|
| Standard | 8 | sessionId, csrfToken, userId, orderId |
| GraphQL | 7 | mutationId, cursor, subscriptionId |
| OAuth 2.0 | 11 | authCode, accessToken, refreshToken, PKCE |
| Enterprise | 18 | Salesforce, SAP, Oracle, ServiceNow |
| WebSocket | 6 | connectionId, channelId, socketIoSid |
| Value shape | 6 | UUID, base64, JWT, MongoDB ObjectID |
Built-in Tools
- PKCE Generator - SHA-256 code challenge pairs for OAuth
- JWT Decoder - Parse headers, payloads, and claims
- Batch Processing - Process multiple HAR/JMX/k6/Gatling files at once
CLI Usage
generate — Full runnable script from HAR (recommended starting point)
# Generate a complete JMeter test plan with think times, parallel groups, and correlations
perf-script-studio generate recording.har --tool jmeter -o test.jmx
# Generate a complete k6 script
perf-script-studio generate recording.har --tool k6 -o test.js
# Generate a complete Gatling simulation
perf-script-studio generate recording.har --tool gatling -o Simulation.scala
correlate — Extractor fragments for existing scripts
# Detect correlations and output extractors for an existing JMX
perf-script-studio correlate recording.har -f jmx -o extractors.jmx
# Detect from a JMX and merge extractors directly into it
perf-script-studio correlate script.jmx -f jmx -m -o script_correlated.jmx
# Gatling and k6 extractor fragments
perf-script-studio correlate recording.har -f gatling -o extractors.scala
perf-script-studio correlate recording.har -f k6 -o extractors.js
web — Embedded web UI (Pro only)
perf-script-studio web # Starts on http://localhost:7070
perf-script-studio web --port 8080
Pricing
£99, one time. Every feature, all six conversion directions, perpetual licence,
free updates. There is no cheaper tier and nothing is held back — the old £59 Basic and
the single-direction migrator licence are both gone, and anyone holding either gets this
build as a free upgrade by running update.
Existing AutoCorrelator Basic licences now unlock everything, at no charge. The web UI, value-shape detection and the enterprise pattern sets — Salesforce, SAP, Oracle, ServiceNow, OAuth and GraphQL — were all Pro-only. The merged build checks that a licence is valid and nothing else, so a Basic key opens the lot, including the six conversion directions Basic never had at any price.
one-time · perpetual licence · Linux and Windows
- ✓ generate — HAR recording to a runnable JMeter, k6 or Gatling script
- ✓ correlate — find the values an existing script will need to extract
- ✓ convert — JMeter, k6 and Gatling, all six directions
- ✓ 50+ correlation patterns, including OAuth and GraphQL
- ✓ Value-shape detection — UUIDs, JWTs, base64, long tokens
- ✓ Batch processing and JSON output for CI
- ✓ Runs entirely offline — your scripts never leave your machine
30-day money-back guarantee
Use Cases
Multi-Tool Team
Your team uses different tools? No problem:
- Record HAR from browser DevTools
- Run:
perf-script-studio generate recording.har --tool jmeter -o test.jmx - Run:
perf-script-studio generate recording.har --tool k6 -o test.js - Each team member gets a complete, ready-to-run script
OAuth 2.0 Flow Testing
- Capture authorization redirect
- Extract auth code and state automatically
- Generate PKCE for public clients
- Extract access/refresh tokens
GraphQL API Testing
- Record HAR from GraphQL Playground
- Detect mutation IDs, cursors, and subscription IDs
- Export extractors to your preferred format
Installation
Windows (CLI)
- Download the executable from the download page
- Save to a convenient location (e.g.,
C:\Tools\perf-autocorrelator.exe) - You may see a SmartScreen warning - This is normal for new software
- Click “More info” → “Run anyway”
- The app is safe - SmartScreen just doesn’t recognize new publishers yet
- Open Command Prompt or PowerShell
- Run:
perf-autocorrelator --versionto verify installation - Enter your license key when prompted on first run
Linux (CLI)
- Download the binary from the download page
- Make it executable:
chmod +x perf-autocorrelator - Move to system path:
sudo mv perf-autocorrelator /usr/local/bin/ - Run:
perf-autocorrelator --versionto verify installation - Enter your license key when prompted on first run
Web UI — Pro only
- Download and install the Pro binary from the download page
- Activate your license:
perf-script-studio activate YOUR-LICENSE-KEY - Start the server:
perf-script-studio web - Browser opens automatically at
http://localhost:7070
The web UI is embedded inside the Pro binary — no separate file to download.
Technical Details
- Download size: ~5.5MB — one archive containing all three command names
- Processing: All correlation runs locally in the Rust binary — your data never leaves your machine
- Web UI access: Pro binary serves on
localhost:7070(or--portof your choice) - Platforms: Linux x86_64, Windows x86_64
FAQ
What input formats are supported?
- HAR files from browser DevTools (Chrome, Firefox, Edge)
- JMeter JMX recordings from HTTP(S) Test Script Recorder
- k6 scripts (.js files)
- Gatling simulations (.scala files)
Can I use it for multiple projects?
Yes! Your license covers unlimited personal or commercial use. Use it on as many projects as you need.
How does value-shape detection work?
It recognises dynamic values by their shape rather than by name - UUIDs, base64-encoded strings, JWTs, MongoDB ObjectIDs and long random tokens - so it catches values no named pattern knows about. Each detector carries a confidence score you can threshold with --min-confidence. These are tuned regular expressions, not machine learning: there is no model, no inference and no network call, and it runs entirely on your machine.
Is my data safe?
Absolutely. Both the CLI and web app process everything locally. No data is ever sent to external servers. Your scripts and recordings stay on your machine.
What customersare saying
"As a performance test engineer, correlation is the part of the job I dreaded the most. Going through a .har file manually and figuring out which values need to be parameterized is just tedious, repetitive work that's easy to get wrong. This tool handles it for you. You feed it the .har, it spots the dynamic values, and spits out a .jmx that's already parameterized. The output is clean enough to use without much touching up."
Mykola S.
Performance Test Engineer