This is the main limit of your monitor (check the back label or manual).
Max Refresh Rate (Vertical Frequency):0 Hz
Estimated Pixel Clock (Bandwidth):0 MHz
Scan Period (Horizontal Line Time):0 µs
function calculateCRT() {
var hResInput = document.getElementById('hRes');
var vResInput = document.getElementById('vRes');
var maxKHzInput = document.getElementById('maxKHz');
var resultDiv = document.getElementById('results');
var resHz = document.getElementById('resHz');
var resBandwidth = document.getElementById('resBandwidth');
var resLineTime = document.getElementById('resLineTime');
var warningMsg = document.getElementById('warningMsg');
var hRes = parseFloat(hResInput.value);
var vRes = parseFloat(vResInput.value);
var maxKHz = parseFloat(maxKHzInput.value);
// Validation
if (isNaN(hRes) || isNaN(vRes) || isNaN(maxKHz) || hRes <= 0 || vRes <= 0 || maxKHz <= 0) {
alert("Please enter valid positive numbers for resolution and frequency.");
return;
}
// Calculation Logic
// Vertical Total usually adds ~5% blanking overhead.
// Formula: V_Hz = (H_kHz * 1000) / (V_Res * 1.05)
var verticalBlankingFactor = 1.05;
var horizontalBlankingFactor = 1.30; // Total overhead for bandwidth
var maxHz = (maxKHz * 1000) / (vRes * verticalBlankingFactor);
// Bandwidth estimation: H * V * Hz * overhead
// Result in MHz
var bandwidthMHz = (hRes * vRes * maxHz * horizontalBlankingFactor) / 1000000;
// Scan time for one horizontal line (in microseconds)
// 1 / (Frequency in kHz * 1000) * 1,000,000 = 1000 / kHz
var lineTimeUs = 1000 / maxKHz;
// Display Results
resultDiv.style.display = 'block';
resHz.innerHTML = maxHz.toFixed(2) + ' Hz';
resBandwidth.innerHTML = bandwidthMHz.toFixed(1) + ' MHz';
resLineTime.innerHTML = lineTimeUs.toFixed(2) + ' µs';
// Warning/Info logic
if (maxHz 160) {
warningMsg.innerHTML = "Note: High refresh rates (>160Hz) often degrade image sharpness on consumer CRTs due to bandwidth limits.";
} else {
warningMsg.innerHTML = "This is a safe and comfortable refresh rate for most CRT monitors.";
}
}
Understanding CRT Refresh Rates and Scanning Logic
Unlike modern LCD or OLED displays which have a fixed pixel grid, Cathode Ray Tube (CRT) monitors draw images using an electron beam that scans across the screen line by line. The capability of a CRT monitor is defined not by a maximum resolution, but by its Horizontal Scanning Frequency (kHz) and Video Bandwidth (MHz).
The CRT Refresh Rate Calculator helps retro gaming enthusiasts and professionals determine the maximum vertical refresh rate (Hz) achievable at a specific resolution, based on the monitor's physical limitations.
The Critical Metric: Horizontal Scanning Frequency (kHz)
The most important number on your CRT's spec sheet is the Horizontal Scanning Frequency (often listed as Horizontal Rate). This measures how many horizontal lines the monitor can draw per second.
The math is straightforward: To draw a screen with 768 lines (vertical resolution) 60 times a second (60Hz), the monitor must draw roughly 46,080 lines per second (plus overhead for blanking intervals). This corresponds to roughly 46 kHz.
Because the Horizontal Scanning Frequency is a fixed upper limit (e.g., 96kHz for a high-end 19-inch monitor), you can trade resolution for refresh rate.
Lower Resolution = Higher Refresh Rate: If you drop your resolution from 1600×1200 to 800×600, you are drawing half as many lines. This allows the electron beam to complete the screen twice as fast, effectively doubling your potential refresh rate.
Higher Resolution = Lower Refresh Rate: Increasing resolution forces the beam to draw more lines, taking longer to complete a full frame, which lowers the maximum Hz.
Common CRT Horizontal Frequency Tiers
Identifying your monitor's class helps you predict performance. Here are standard industry tiers:
Monitor Class
Max Horizontal Freq
Typical Performance
Standard VGA
31.5 kHz
640×480 @ 60Hz
SVGA Entry
54 kHz
800×600 @ 85Hz, 1024×768 @ 60Hz
Mid-Range Office
70 kHz
1024×768 @ 85Hz, 1280×1024 @ 60Hz
High-End (19-21″)
96 kHz
1600×1200 @ 75Hz, 1280×1024 @ 85Hz
Professional (Graphic)
110-130 kHz
1600×1200 @ 100Hz, 2048×1536 @ 75Hz
Ultra Enthusiast (FW900)
121-140 kHz
Widescreen 2304×1440 @ 80Hz
FAQ: CRT Optimization
What is the "Blanking Interval"?
The blanking interval is the time it takes for the electron beam to move from the end of a line to the start of the next (horizontal blanking) or from the bottom right to the top left (vertical blanking). While you cannot see this area, the monitor still "draws" it. This is why our calculator adds a ~5% overhead factor to the vertical line count.
Why does high refresh rate matter for CRTs?
Unlike LCDs, CRTs flicker. At 60Hz, many people perceive a noticeable flicker that causes eye strain. 75Hz is generally considered the minimum for comfort, while 85Hz is the "flicker-free" standard for most users. Enthusiasts often push for 100Hz or 120Hz for smoother motion clarity in gaming.
Can I damage my monitor by setting a custom resolution?
Modern CRTs (late 90s onwards) usually have protection circuits that will simply display "Out of Range" if you exceed the kHz limit. However, older monitors without protection circuits can potentially be damaged if driven significantly beyond their horizontal scanning specifications.