← All Tools

FPS Frame Budget Calculator

Convert between target frames-per-second and the millisecond budget per frame, slice that budget into main-thread / style / paint / GPU phases, and measure your real frame time with requestAnimationFrame.

Target FPS ↔ Frame Budget

16.67
ms / frame
16667
µs / frame
60
refresh Hz

Frame Budget Breakdown

Allocate phases of a typical browser/game frame as percentages of your target budget. Anything over 100% spills into the next frame and causes jank.

JS Style Paint GPU Idle Over budget
Phase%ms

Live Frame Time

Sample requestAnimationFrame intervals on this page for 2 seconds and report the actual frame cadence. Run this in the same browser/tab where you want to test.

p50 frame ms
p95 frame ms
worst
frames
avg fps
jank (>budget)

Common Targets

Refresh / FPSms / frameµs / frameframes / secframes / hour
24 fps41.66741,6672486,400
30 fps33.33333,33330108,000
60 fps16.66716,66760216,000
72 fps · VR13.88913,88972259,200
90 fps · VR11.11111,11190324,000
120 fps8.3338,333120432,000
144 Hz6.9446,944144518,400
165 Hz6.0616,061165594,000
240 Hz4.1674,167240864,000

Web devs usually target 60 fps (16.67 ms) to match most monitors; mobile games on high-refresh phones aim for 120 fps (8.33 ms). VR headsets demand 72–120 fps to avoid motion sickness. Anything over your monitor's Hz only matters for input latency and frame pacing — it won't visually display more frames.