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.

Browse files…

Share your scorecard

Copy a markdown scorecard you can paste into Reddit or a forum post.


                

Use cases

Common ways people use the Frametime Log Analyzer:

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.