Whether you are a competitive gamer optimizing for low latency or a tech enthusiast setting up a home theater, understanding the relationship between Refresh Rate (Hz), Frame Rate (FPS), and Frame Time (ms) is crucial. Use the calculators below to convert between time and frequency, and to estimate the bandwidth required for high-refresh-rate displays.
1. Hz vs. Frame Time Converter
Convert between the time it takes to render a frame (milliseconds) and the frequency (Hertz/FPS).
Conversion Result
–
2. Display Bandwidth Calculator
Calculate the raw data rate required to drive a specific resolution and refresh rate.
8-bit (Standard)
10-bit (HDR)
12-bit (Pro)
Estimated Data Rate
0.00 Gbps
The Physics of Refresh Rate
Refresh rate is a measure of frequency, defined as the number of times a new image is drawn on the screen per second. The unit of measurement is Hertz (Hz).
The mathematical relationship between the period (time between frames) and the frequency (refresh rate) is inverse. If you know how long a single frame takes to render (Frame Time), you can calculate the theoretical maximum refresh rate required to display those frames without dropping any.
Frequency (Hz) = 1000 / Frame Time (ms)
Frame Time (ms) = 1000 / Frequency (Hz)
Example Calculation
If your graphics card is rendering a game at a frame time of 6.94 milliseconds, how do you calculate the corresponding refresh rate?
Take the constant 1000 (milliseconds in a second).
Divide by the frame time: 1000 / 6.94.
Result: approximately 144 Hz.
This means you need a 144Hz monitor to fully see every frame generated every 6.94ms.
Data Rate and Bandwidth
Calculating refresh rate is also vital when determining if your HDMI or DisplayPort cable can handle the signal. Higher refresh rates require significantly more bandwidth.
Note: Real-world transmission requires "blanking intervals" (timing overhead), so the actual signal bandwidth is usually 15-20% higher than the raw pixel calculation. Our calculator above includes a standard overhead estimate.
Common Refresh Rates & Frame Times
60 Hz: 16.67 ms per frame (Standard office monitors)
120 Hz: 8.33 ms per frame (Entry-level gaming / modern TVs)
144 Hz: 6.94 ms per frame (Standard PC gaming)
240 Hz: 4.17 ms per frame (Competitive esports)
360 Hz: 2.78 ms per frame (Pro-tier esports)
function convertMsToHz() {
var msInput = document.getElementById("inputMs").value;
var hzInput = document.getElementById("inputHz");
var resultBox = document.getElementById("converterResult");
var output = document.getElementById("converterOutput");
var explanation = document.getElementById("converterExplanation");
if (msInput && msInput > 0) {
// Calculate Hz: 1000 / ms
var hz = 1000 / parseFloat(msInput);
// Update the Hz input purely for visual, but prevent circular loop logic
// We won't update the inputHz value directly to allow user typing,
// instead we show result in the box below.
output.innerHTML = hz.toFixed(2) + " Hz";
explanation.innerHTML = "A frame time of " + msInput + "ms allows for " + hz.toFixed(0) + " frames per second.";
resultBox.style.display = "block";
} else {
resultBox.style.display = "none";
}
}
function convertHzToMs() {
var hzInput = document.getElementById("inputHz").value;
var msInput = document.getElementById("inputMs");
var resultBox = document.getElementById("converterResult");
var output = document.getElementById("converterOutput");
var explanation = document.getElementById("converterExplanation");
if (hzInput && hzInput > 0) {
// Calculate Ms: 1000 / Hz
var ms = 1000 / parseFloat(hzInput);
output.innerHTML = ms.toFixed(2) + " ms";
explanation.innerHTML = "To achieve " + hzInput + " Hz, a new frame must be rendered every " + ms.toFixed(2) + " milliseconds.";
resultBox.style.display = "block";
} else {
resultBox.style.display = "none";
}
}
function calculateBandwidth() {
var width = parseInt(document.getElementById("resWidth").value);
var height = parseInt(document.getElementById("resHeight").value);
var hz = parseInt(document.getElementById("targetRefreshRate").value);
var depth = parseInt(document.getElementById("colorDepth").value);
var resultBox = document.getElementById("bandwidthResult");
var output = document.getElementById("gbpsOutput");
var cableRec = document.getElementById("cableRec");
if (!width || !height || !hz || !depth) {
alert("Please fill in all resolution and refresh rate fields.");
return;
}
// Calculation Logic
// Total Pixels
var totalPixels = width * height;
// Bits per pixel (3 channels: R, G, B)
var bpp = depth * 3;
// Raw bits per second
var rawBitsPerSecond = totalPixels * hz * bpp;
// Add Overhead (Blanking intervals usually add ~20% for CVT-RB or standard timings)
// This calculates the TMDS/Line rate roughly needed.
var totalBandwidthBits = rawBitsPerSecond * 1.20;
// Convert to Gbps (1e9 bits)
var bandwidthGbps = totalBandwidthBits / 1000000000;
output.innerHTML = bandwidthGbps.toFixed(2) + " Gbps";
// Cable Recommendations logic
var recommendation = "";
if (bandwidthGbps < 10.2) {
recommendation = "Compatible with HDMI 1.4 or DisplayPort 1.2";
} else if (bandwidthGbps < 18) {
recommendation = "Requires HDMI 2.0 or DisplayPort 1.2";
} else if (bandwidthGbps < 32.4) {
recommendation = "Requires DisplayPort 1.4 (or HDMI 2.1)";
} else if (bandwidthGbps < 48) {
recommendation = "Requires HDMI 2.1 or DisplayPort 2.0";
} else {
recommendation = "Requires DisplayPort 2.0 (UHBR 13.5+) or DSC (Compression)";
}
cableRec.innerHTML = "Cable Requirement: " + recommendation;
resultBox.style.display = "block";
}