Frametime Log Analyzer
Paste or drop a frametime capture (PresentMon, CapFrameX, OCAT, RTSS OSDServer, or plain milliseconds) and get average and median FPS, P95/P99, 1% and 0.1% lows in two clearly labeled methods, spike counts, frametime graphs and a plain-English stutter verdict. Runs 100% in your browser — no upload, no sign-up.
No upload, no sign-up — everything is computed in your browser.
Paste or drop your capture
Drag & drop a .csv or .log file, or paste the raw values. Accepted: PresentMon, CapFrameX, OCAT, RTSS OSDServer exports, timestamp + ms pairs and plain comma/space/newline separated milliseconds.
Results
Detected input
1% and 0.1% lows are shown two ways: the mean-of-slowest-N% (GN) method and the P99 / P99.9 frametime method. They can diverge when a few extreme hitches dominate the tail.
Frametime over time
Frametime distribution
These categories use community heuristics (lows within ~10% of average = excellent, ~20% = good, 30–50% = noticeable, below 50% of average = poor). They are rules of thumb, not measured thresholds.
Share your scorecard
Copy a markdown scorecard you can paste into Reddit or a forum post.
Help
How to use
Get a full stutter readout from any frametime capture in under a minute:
- Paste the capture into the box, or drag & drop a .csv / .log file (PresentMon, CapFrameX, OCAT, RTSS OSDServer, or plain ms values).
- Prefer to see it working? Click Try a sample capture for an instant demo.
- Set the spike threshold (default: 3x the median frametime) if you want a different hitch cutoff.
- Click Analyze — the metrics grid, the frametime graphs and the spike highlights appear below.
- Read the verdict and its meaning, then copy the markdown scorecard to share.
1. Add a capture
Paste the raw log or drag & drop a .csv/.log file. The parser auto-detects PresentMon, CapFrameX, OCAT, RTSS OSDServer and plain millisecond lists. Nothing is uploaded — parsing happens in your browser.
2. Read the metrics
Average/median FPS and ms give the baseline; P95/P99 show the tail; 1% and 0.1% lows are shown two ways (mean-of-slowest GN method and P99/P99.9 conversion). Spikes counts frames above your threshold (default 3× median).
3. Understand the verdict
The verdict compares your 1% low against your average using community heuristics and labels the likely pattern: stable (hardware ceiling) vs unstable (thermals, drivers, background load). Heuristics only — treat them as rules of thumb.
Privacy
Zero upload, zero network requests after the page loads. Your capture never leaves your browser.
Use cases
Common ways people use the Frametime Log Analyzer:
-
Diagnosing new stutter
Stutter appeared after a driver update? Capture with PresentMon or CapFrameX and check whether 1% lows and spikes went up — evidence instead of vibes.
-
Spotting thermal throttling
Compare the first minutes of a capture with the last: a drifting median and growing 1% lows suggest the hardware is throttling over time.
-
Validating a high-refresh setup
At 144/240 Hz a few milliseconds of jank are very visible. Use P95/P99 and spike counts to verify your setup actually holds the refresh rate.
-
Comparing settings and mods
Capture the same scene with different settings, then compare the scorecards: median, 1% lows and spikes make the winner obvious.
-
Backing up forum claims
Paste the markdown scorecard into Reddit or a forum thread so your 'it stutters' complaint comes with numbers.
Frequently asked questions
- What are 1% lows in frametime?
- 1% lows describe the worst 1% of your frames: sort all frame times, take the slowest 1%, and average them — that's the GN method used by most benchmarks. This tool also shows the P99 frametime converted to FPS, because the two can diverge when a few extreme hitches dominate. The lower the 1% low relative to your average, the more noticeable the stutter.
- How do I read a frametime graph?
- In the time-series chart, each point is one frame in milliseconds; spikes above your threshold (default 3× median) are highlighted. In the L-shape distribution, a tight vertical band at low ms means stable frames, while a long right tail means frequent hitches. The P99 marker shows where the slowest 1% begins.
- What is a frametime analyzer?
- A frametime analyzer computes frame-time statistics from a capture: average/median FPS, percentiles (P95/P99), 1% and 0.1% lows, and hitch counts. Average FPS hides jank — two games both at '60 FPS' can feel completely different if one has deep hitches. The analyzer makes that visible.
- Can I analyze a PresentMon CSV with this tool?
- Yes. Paste or drop a PresentMon (CapFrameX) CSV export and the tool auto-detects the PresentLatency column. OCAT, RTSS OSDServer, timestamp + ms pairs and plain millisecond lists are also supported. Everything is parsed locally in your browser.
- Is my frametime data uploaded anywhere?
- No. The analyzer is fully client-side: no backend, no upload, and no network requests after the page loads. Your capture never leaves your browser, and there is no sign-up or email required.