{"id":69414,"date":"2026-11-04T09:50:35","date_gmt":"2026-11-04T04:20:35","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/tools\/online-timer\/"},"modified":"2026-11-04T16:13:37","modified_gmt":"2026-11-04T10:43:37","slug":"online-timer","status":"publish","type":"page","link":"https:\/\/www.quickonlinetips.com\/archives\/tools\/online-timer\/","title":{"rendered":"Online Timer: Free Countdown Timer With Alarm"},"content":{"rendered":"<p>This free <strong>online timer<\/strong> counts down from any time you choose and rings an alarm when the time is up. Pick a preset such as a <strong>2 minute timer<\/strong>, 5, 10 or 15 minutes, or set your own hours, minutes and seconds, then press Start. It keeps time correctly even in a background tab, and works on phones, tablets and computers.<\/p>\n<div class=\"qt-tool\" id=\"qt-tmr\">\n<p class=\"qt-label\" style=\"font-size:1.15em;margin:0 0 10px\"><strong>Step 1:<\/strong> Pick how long<\/p>\n<p style=\"margin:0 0 6px;font-weight:700;color:#174ea6\">Option 1: Tap a preset<\/p>\n<div class=\"qtx-chipset\" role=\"group\" aria-label=\"Timer presets\" id=\"qt-tmr-chips\" style=\"display:flex;flex-wrap:wrap;gap:6px\"><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"30\" aria-pressed=\"false\">30 sec<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"60\" aria-pressed=\"false\">1 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"120\" aria-pressed=\"false\">2 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"180\" aria-pressed=\"false\">3 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"300\" aria-pressed=\"true\">5 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"600\" aria-pressed=\"false\">10 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"900\" aria-pressed=\"false\">15 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"1200\" aria-pressed=\"false\">20 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"1800\" aria-pressed=\"false\">30 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"2700\" aria-pressed=\"false\">45 min<\/button><button type=\"button\" style=\"flex:1 1 0;min-width:58px;white-space:nowrap;padding-left:6px;padding-right:6px\" data-s=\"3600\" aria-pressed=\"false\">1 hour<\/button><\/div>\n<p style=\"margin:16px 0 6px;font-weight:700;color:#174ea6\">Option 2: Type your own time<\/p>\n<div class=\"qt-grid\" style=\"margin-top:0\">\n<div class=\"qt-field\"><label for=\"qt-tmr-h\">Hours<\/label><input type=\"number\" id=\"qt-tmr-h\" min=\"0\" max=\"99\" step=\"1\" placeholder=\"0\" inputmode=\"numeric\"><\/div>\n<div class=\"qt-field\"><label for=\"qt-tmr-m\">Minutes<\/label><input type=\"number\" id=\"qt-tmr-m\" min=\"0\" max=\"59\" step=\"1\" placeholder=\"0\" inputmode=\"numeric\"><\/div>\n<div class=\"qt-field\"><label for=\"qt-tmr-s\">Seconds<\/label><input type=\"number\" id=\"qt-tmr-s\" min=\"0\" max=\"59\" step=\"1\" placeholder=\"0\" inputmode=\"numeric\"><\/div>\n<\/div>\n<div class=\"qt-grid\"><label class=\"qt-check\"><input type=\"checkbox\" id=\"qt-tmr-snd\" checked> Ring an alarm when time is up<\/label><\/p>\n<div class=\"qt-field\"><label for=\"qt-tmr-tone\">Alarm sound<\/label><select id=\"qt-tmr-tone\"><option value=\"beep\">Beeps<\/option><option value=\"bell\">Bell<\/option><option value=\"soft\">Soft chime<\/option><\/select><\/div>\n<\/div>\n<p class=\"qt-label\" style=\"font-size:1.15em;margin:18px 0 10px\"><strong>Step 2:<\/strong> Press Start<\/p>\n<div class=\"qt-row\" style=\"margin-top:0\"><button type=\"button\" class=\"qt-btn qt-btn-big\" id=\"qt-tmr-go\" style=\"flex:1 1 260px\">Start 5-minute timer<\/button><button type=\"button\" class=\"qt-btn qt-btn-big qtx-nomark\" id=\"qt-tmr-full\" style=\"flex:0 1 auto;background:#DC2626;border-color:#DC2626;color:#fff\">&#x26F6; Full screen timer<\/button><\/div>\n<p class=\"qt-small\" style=\"text-align:left;font-size:14px;margin:6px 0 0\">Full screen shows a huge countdown for stages, classrooms and conference speakers, with a dark or light background.<\/p>\n<p class=\"qt-status\" id=\"qt-tmr-status\" aria-live=\"polite\">\n<div id=\"qt-tmr-run\" hidden>\n<div class=\"qt-clock\" id=\"qt-tmr-clock\" role=\"timer\" aria-live=\"off\"><\/div>\n<div class=\"qt-meter\" aria-hidden=\"true\"><span id=\"qt-tmr-bar\"><\/span><\/div>\n<p class=\"qt-small\" id=\"qt-tmr-ends\">\n<div class=\"qt-row\"><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-tmr-pause\">Pause<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-tmr-plus\">Add 1 minute<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-tmr-full2\">Full screen<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost qtx-nomark\" id=\"qt-tmr-reset\">&#8634; Start over<\/button><\/div>\n<\/div>\n<p class=\"qt-note\"><strong>Private by design:<\/strong> the timer and its alarm run in your own browser. Nothing is sent to QuickOnlineTips or stored. Turn your volume up so you hear the alarm, and keep this tab open.<\/p>\n<\/p><\/div>\n<p><script>(function () { function qtReady(fn) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fn); } else { fn(); } } function qtCopy(text, statusEl, okMsg) { function done(ok) { if (statusEl) { statusEl.textContent = ok ? (okMsg || 'Copied to clipboard.') : 'Press Ctrl+C (or Cmd+C) to copy.'; } } function fallback() { var ta = document.createElement('textarea'); ta.value = text; ta.setAttribute('readonly', ''); ta.style.position = 'fixed'; ta.style.top = '-1000px'; document.body.appendChild(ta); ta.select(); var ok = false; try { ok = document.execCommand('copy'); } catch (e) { ok = false; } document.body.removeChild(ta); done(ok); } if (navigator.clipboard) { if (window.isSecureContext) { navigator.clipboard.writeText(text).then(function () { done(true); }, fallback); return; } } fallback(); } function qtSave(blob, name) { var a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = name; document.body.appendChild(a); a.click(); setTimeout(function () { URL.revokeObjectURL(a.href); a.remove(); }, 1500); } qtReady(function () { var root = document.getElementById('qt-tmr'); if (!root) { return; } function $(id) { return document.getElementById('qt-tmr-' + id); } var go = $('go'), st = $('status'), run = $('run'), clock = $('clock'), bar = $('bar'), ends = $('ends'), pauseB = $('pause'); var hIn = $('h'), mIn = $('m'), sIn = $('s'), snd = $('snd'), tone = $('tone'); var chips = root.querySelectorAll('[data-s]'); var chosen = 300, total = 0, endAt = 0, left = 0, timer = 0, paused = false, done = false, running = false; var ac = null, alarmGain = null, baseTitle = document.title, flash = 0; function say(t, bad) { st.textContent = t; st.classList.toggle('qt-error', !!bad); } function pad(n) { return (10 > n ? '0' : '') + n; } function fmt(sec) { var h = Math.floor(sec \/ 3600), m = Math.floor((sec % 3600) \/ 60), s = sec % 60; return h ? h + ':' + pad(m) + ':' + pad(s) : pad(m) + ':' + pad(s); } function words(sec) { if (sec % 3600 === 0) { return (sec \/ 3600) + '-hour'; } if (sec % 60 === 0) { return (sec \/ 60) + '-minute'; } if (60 > sec) { return sec + '-second'; } return fmt(sec); } function label() { go.textContent = chosen ? 'Start ' + words(chosen) + ' timer' : 'Start timer'; } function num(el, max) { var v = parseInt(el.value, 10); if (isNaN(v) || 0 > v) { v = 0; } if (v > max) { v = max; } return v; } function fromInputs() { return num(hIn, 99) * 3600 + num(mIn, 999) * 60 + num(sIn, 9999); } function pick(sec, btn) { chosen = sec; if (fs) { fsPaint(); } Array.prototype.forEach.call(chips, function (b) { b.setAttribute('aria-pressed', b === btn ? 'true' : 'false'); }); label(); } Array.prototype.forEach.call(chips, function (b) { b.addEventListener('click', function () { hIn.value = ''; mIn.value = ''; sIn.value = ''; pick(parseInt(b.getAttribute('data-s'), 10), b); say(''); }); }); [hIn, mIn, sIn].forEach(function (el) { el.addEventListener('input', function () { pick(fromInputs(), null); }); el.addEventListener('keydown', function (e) { if (e.key === 'Enter') { e.preventDefault(); go.click(); } }); }); function audio() { var C = window.AudioContext || window.webkitAudioContext; if (!C) { return null; } if (!ac) { try { ac = new C(); } catch (e) { ac = null; } } if (ac) { if (ac.state === 'suspended') { ac.resume(); } } return ac; } function cancelAlarm() { if (alarmGain) { try { alarmGain.disconnect(); } catch (e) { } alarmGain = null; } } function note(t0, f, len, vol, type) { var o = ac.createOscillator(), g = ac.createGain(); o.type = type; o.frequency.value = f; g.gain.setValueAtTime(0.0001, t0); g.gain.exponentialRampToValueAtTime(vol, t0 + 0.01); g.gain.exponentialRampToValueAtTime(0.0001, t0 + len); o.connect(g); g.connect(alarmGain); o.start(t0); o.stop(t0 + len + 0.05); } function scheduleAlarm(inSec) { cancelAlarm(); if (!snd.checked) { return; } var a = audio(); if (!a) { return; } alarmGain = a.createGain(); alarmGain.gain.value = 1; alarmGain.connect(a.destination); var t = a.currentTime + Math.max(0, inSec), k = tone.value; var rings = k === 'beep' ? [0, 1, 2, 3, 4] : (k === 'bell' ? [0, 2] : [0, 2.5]); rings.forEach(function (o2) { var t0 = t + o2; if (k === 'beep') { note(t0, 880, 0.15, 0.5, 'square'); note(t0 + 0.25, 880, 0.15, 0.5, 'square'); note(t0 + 0.5, 880, 0.15, 0.5, 'square'); } else if (k === 'bell') { note(t0, 660, 2.4, 0.6, 'sine'); note(t0, 1320, 1.2, 0.25, 'sine'); } else { note(t0, 523, 1.2, 0.35, 'sine'); note(t0 + 0.4, 659, 1.2, 0.35, 'sine'); note(t0 + 0.8, 784, 1.6, 0.35, 'sine'); } }); } function paint() { var ms = endAt - Date.now(); left = Math.max(0, Math.ceil(ms \/ 1000)); clock.textContent = fmt(left); bar.style.width = (total ? Math.min(100, (total - left) * 100 \/ total) : 0) + '%'; document.title = fmt(left) + ' - ' + baseTitle; fsPaint(); if (0 >= ms) { finish(); } } function tick() { if (!paused) { paint(); } } function finish() { if (done) { return; } done = true; running = false; clearInterval(timer); timer = 0; clock.textContent = 'Time\u2019s up!'; clock.classList.add('qt-done'); bar.style.width = '100%'; ends.textContent = 'Finished at ' + new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }) + '. Press Start over to set a new timer.'; pauseB.hidden = true; $('plus').textContent = 'Stop alarm'; if (navigator.vibrate) { navigator.vibrate([500, 250, 500, 250, 500, 250, 500]); } var on = false; flash = setInterval(function () { on = !on; document.title = (on ? '\u23f0 Time\u2019s up! ' : '') + baseTitle; }, 1000); setTimeout(function () { clearInterval(flash); document.title = baseTitle; }, 6000); say('Time\u2019s up! The alarm rings for about 5 seconds.'); fsPaint(); } function showEnds() { ends.textContent = 'Ends at ' + new Date(endAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit' }); } function start() { var sec = chosen; if (!sec) { say('Step 1 first: tap a preset or type a time above zero.', true); return; } if (sec > 360000) { sec = 360000; } total = sec; endAt = Date.now() + sec * 1000; paused = false; done = false; running = true; clearInterval(flash); clock.classList.remove('qt-done'); pauseB.hidden = false; pauseB.textContent = 'Pause'; $('plus').textContent = 'Add 1 minute'; run.hidden = false; scheduleAlarm(sec); paint(); showEnds(); clearInterval(timer); timer = setInterval(tick, 250); say('Timer running. ' + (snd.checked ? 'Keep your sound on to hear the alarm.' : 'The alarm is off.')); } go.addEventListener('click', start); pauseB.addEventListener('click', function () { if (!running) { return; } if (!paused) { paused = true; left = Math.max(0, Math.ceil((endAt - Date.now()) \/ 1000)); cancelAlarm(); pauseB.textContent = 'Resume'; ends.textContent = 'Paused'; say('Paused. Press Resume to carry on.'); } else { paused = false; endAt = Date.now() + left * 1000; scheduleAlarm(left); pauseB.textContent = 'Pause'; showEnds(); say('Timer running.'); paint(); } }); $('plus').addEventListener('click', function () { if (done) { cancelAlarm(); clearInterval(flash); document.title = baseTitle; if (navigator.vibrate) { navigator.vibrate(0); } say('Alarm stopped.'); return; } if (!running) { return; } total += 60; if (paused) { left += 60; clock.textContent = fmt(left); } else { endAt += 60000; scheduleAlarm((endAt - Date.now()) \/ 1000); showEnds(); paint(); } say('Added 1 minute.'); fsPaint(); }); var fs = null, fsDig = null, fsInfo = null, fsGo = null, fsGoIc = null, fsGoTx = null, fsTh = null, fsTheme = 'dark'; try { fsTheme = localStorage.getItem('qt-tmr-theme') || 'dark'; } catch (e) { } var NS = 'http:\/\/www.w3.org\/2000\/svg'; var IC = { play: 'M8 5v14l11-7z', pause: 'M6 5h4v14H6zM14 5h4v14h-4z', plus: 'M11 5h2v14h-2zM5 11h14v2H5z', minus: 'M5 11h14v2H5z', close: 'M6.4 5L5 6.4 10.6 12 5 17.6 6.4 19 12 13.4 17.6 19 19 17.6 13.4 12 19 6.4 17.6 5 12 10.6z', restart: 'M12 5V1L7 6l5 5V7a5 5 0 11-5 5H5a7 7 0 107-7z', sun: 'M12 7a5 5 0 100 10 5 5 0 000-10zM11 1h2v3h-2zM11 20h2v3h-2zM1 11h3v2H1zM20 11h3v2h-3zM4.2 5.6l1.4-1.4 2.1 2.1-1.4 1.4zM16.3 17.7l1.4-1.4 2.1 2.1-1.4 1.4zM4.2 18.4l2.1-2.1 1.4 1.4-2.1 2.1zM16.3 6.3l2.1-2.1 1.4 1.4-2.1 2.1z', moon: 'M21 12.8A9 9 0 1111.2 3 7 7 0 0021 12.8z' }; function icon(name, size) { var s = document.createElementNS(NS, 'svg'); s.setAttribute('viewBox', '0 0 24 24'); s.setAttribute('width', size); s.setAttribute('height', size); s.setAttribute('aria-hidden', 'true'); s.style.cssText = 'display:block;flex:0 0 auto'; var p = document.createElementNS(NS, 'path'); p.setAttribute('d', IC[name]); p.setAttribute('fill', 'currentColor'); s.appendChild(p); return s; } function setIcon(holder, name, size) { holder.textContent = ''; holder.appendChild(icon(name, size)); } function fsBtn(name, text, fn) { var b = document.createElement('button'); b.type = 'button'; b.style.cssText = 'display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:18px;font-weight:600;line-height:1.2;padding:12px 18px;border-radius:12px;cursor:pointer;min-height:52px;border:2px solid currentColor;background:transparent;color:inherit'; var ic = document.createElement('span'); ic.style.display = 'inline-flex'; setIcon(ic, name, 24); var tx = document.createElement('span'); tx.textContent = text; b.appendChild(ic); b.appendChild(tx); b.addEventListener('click', fn); b.qtIc = ic; b.qtTx = tx; return b; } function fsColors() { if (!fs) { return; } var dark = fsTheme === 'dark'; fs.style.background = dark ? '#000' : '#fff'; fs.style.color = dark ? '#fff' : '#111'; if (fsTh) { setIcon(fsTh.qtIc, dark ? 'sun' : 'moon', 24); fsTh.qtTx.textContent = dark ? 'Light screen' : 'Dark screen'; } } function fsPaint() { if (!fs) { return; } if (fs.style.display === 'none') { return; } var showSec = running ? left : (done ? 0 : chosen); var txt = fmt(showSec); if (txt.charAt(0) === '0') { if (txt.length === 5) { txt = txt.slice(1); } } fsDig.textContent = txt; fsDig.style.fontSize = 'min(' + Math.round(150 \/ Math.max(4, txt.length)) + 'vw, 52vh)'; var warn = ''; if (done) { warn = '#EF4444'; } else if (running) { if (60 >= left) { warn = '#F59E0B'; } } fsDig.style.color = warn || 'inherit'; fsInfo.textContent = done ? 'Time\u2019s up!' : (running ? (paused ? 'Paused' : ends.textContent) : 'Ready: ' + (chosen ? words(chosen).replace('-', ' ') + ' timer' : 'add time with + 1 min')); var playing = running ? !paused : false; setIcon(fsGoIc, playing ? 'pause' : 'play', 56); fsGoTx.textContent = done ? 'Start again' : (running ? (paused ? 'Resume' : 'Pause') : 'Start'); fsGo.style.background = playing ? '#D97706' : '#16A34A'; fsGo.setAttribute('aria-label', fsGoTx.textContent + ' timer'); } function fsClose() { if (!fs) { return; } fs.style.display = 'none'; document.documentElement.style.overflow = ''; if (document.fullscreenElement) { document.exitFullscreen().catch(function () { }); } } function adjust(sec) { if (done) { if (0 > sec) { return; } pick(sec, null); start(); return; } if (running) { if (paused) { left = Math.max(1, left + sec); clock.textContent = fmt(left); total = Math.max(total + sec, left); } else { var rem = Math.max(1000, endAt + sec * 1000 - Date.now()); endAt = Date.now() + rem; total = Math.max(total + sec, Math.ceil(rem \/ 1000)); scheduleAlarm(rem \/ 1000); showEnds(); paint(); } say(sec > 0 ? 'Added 1 minute.' : 'Took off 1 minute.'); } else { pick(Math.max(0, chosen + sec), null); } fsPaint(); } function fsBuild() { fs = document.createElement('div'); fs.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;z-index:2147483000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2vh 3vw;box-sizing:border-box;font-family:inherit'; fs.setAttribute('role', 'dialog'); fs.setAttribute('aria-label', 'Full screen timer'); var x = document.createElement('button'); x.type = 'button'; x.setAttribute('aria-label', 'Exit full screen'); x.style.cssText = 'position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:40px;border:0;background:#DC2626;color:#fff;font-family:inherit;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35)'; var xc = document.createElement('span'); xc.style.cssText = 'display:inline-flex;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.22);align-items:center;justify-content:center'; xc.appendChild(icon('close', 30)); var xt = document.createElement('span'); xt.textContent = 'Exit (Esc)'; x.appendChild(xc); x.appendChild(xt); x.addEventListener('click', fsClose); fsDig = document.createElement('div'); fsDig.setAttribute('role', 'timer'); fsDig.style.cssText = 'font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-0.02em;text-align:center;white-space:nowrap'; fsInfo = document.createElement('div'); fsInfo.style.cssText = 'font-size:max(16px,min(3vw,3vh));opacity:.75;margin:1.5vh 0 2.5vh;text-align:center'; fsGo = document.createElement('button'); fsGo.type = 'button'; fsGo.style.cssText = 'display:inline-flex;align-items:center;gap:14px;padding:14px 34px 14px 22px;border-radius:60px;border:0;color:#fff;font-family:inherit;font-size:28px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.35);min-height:84px'; fsGoIc = document.createElement('span'); fsGoIc.style.display = 'inline-flex'; fsGoTx = document.createElement('span'); fsGo.appendChild(fsGoIc); fsGo.appendChild(fsGoTx); fsGo.addEventListener('click', function () { if (done) { start(); } else if (running) { pauseB.click(); } else { start(); } fsPaint(); }); var bar = document.createElement('div'); bar.style.cssText = 'display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:2.5vh;opacity:.9'; bar.appendChild(fsBtn('minus', '1 min', function () { adjust(-60); })); bar.appendChild(fsBtn('plus', '1 min', function () { adjust(60); })); fsTh = fsBtn('sun', 'Light screen', function () { fsTheme = fsTheme === 'dark' ? 'light' : 'dark'; try { localStorage.setItem('qt-tmr-theme', fsTheme); } catch (e) { } fsColors(); }); bar.appendChild(fsTh); bar.appendChild(fsBtn('restart', 'Restart', function () { if (chosen) { start(); fsPaint(); } })); var hint = document.createElement('div'); hint.style.cssText = 'font-size:14px;opacity:.6;margin-top:2vh;text-align:center'; hint.textContent = 'Space = start or pause \u00b7 Esc = exit full screen'; fs.appendChild(x); fs.appendChild(fsDig); fs.appendChild(fsInfo); fs.appendChild(fsGo); fs.appendChild(bar); fs.appendChild(hint); fs.style.display = 'none'; document.body.appendChild(fs); document.addEventListener('keydown', function (e) { if (fs.style.display === 'none') { return; } if (e.key === 'Escape') { fsClose(); } else if (e.key === ' ') { e.preventDefault(); fsGo.click(); } }); document.addEventListener('fullscreenchange', function () { if (!document.fullscreenElement) { if (fs.style.display !== 'none') { fsClose(); } } }); } function fsOpen() { if (!fs) { fsBuild(); } fsColors(); fs.style.display = 'flex'; document.documentElement.style.overflow = 'hidden'; fsPaint(); if (fs.requestFullscreen) { fs.requestFullscreen().catch(function () { }); } else if (fs.webkitRequestFullscreen) { fs.webkitRequestFullscreen(); } } $('full').addEventListener('click', fsOpen); $('full2').addEventListener('click', fsOpen); $('reset').addEventListener('click', function () { clearInterval(timer); clearInterval(flash); timer = 0; cancelAlarm(); running = false; paused = false; done = false; run.hidden = true; clock.textContent = ''; clock.classList.remove('qt-done'); document.title = baseTitle; say(''); fsPaint(); go.focus(); }); snd.addEventListener('change', function () { if (running) { if (!paused) { scheduleAlarm((endAt - Date.now()) \/ 1000); } } }); tone.addEventListener('change', function () { if (running) { if (!paused) { scheduleAlarm((endAt - Date.now()) \/ 1000); } } }); var q = location.search, mm = q.match(\/[?]min=(\\d+)\/) || q.match(\/[?].*min=(\\d+)\/), ss = q.match(\/sec=(\\d+)\/); var pre = 0; if (mm) { pre += parseInt(mm[1], 10) * 60; } if (ss) { pre += parseInt(ss[1], 10); } if (pre) { var hit = null; Array.prototype.forEach.call(chips, function (b) { if (parseInt(b.getAttribute('data-s'), 10) === pre) { hit = b; } }); if (!hit) { mIn.value = Math.floor(pre \/ 60) || ''; sIn.value = (pre % 60) || ''; } pick(pre, hit); } else { label(); } }); })();<\/script><\/p>\n<div class=\"qt-next\">\n<p class=\"qt-next-h\">Try another free tool<\/p>\n<div class=\"qt-next-g\"><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/online-stopwatch\/\">Stopwatch and Timer<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/pomodoro-timer\/\">Pomodoro Timer<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/metronome\/\">Metronome<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/countdown-to-date\/\">Countdown to a Date<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/hours-calculator\/\">Hours Calculator<\/a><a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/time-zone-converter\/\">Time Zone Converter<\/a><\/div>\n<\/div>\n<p><strong>Quick answer:<\/strong> Tap a preset (for example <strong>2 min<\/strong>) or type hours, minutes and seconds, then press <strong>Start<\/strong>. The big clock counts down and an alarm rings at zero. Use <strong>Pause<\/strong>, <strong>Add 1 minute<\/strong> or <strong>Start over<\/strong> at any time.<\/p>\n<h2>How to use the online timer<\/h2>\n<ol>\n<li>Tap a preset: 30 seconds, 1, 2, 3, 5, 10, 15, 20, 30 or 45 minutes, or 1 hour. Or type your own hours, minutes and seconds.<\/li>\n<li>Choose whether an alarm should ring, and pick a sound: beeps, a bell or a soft chime.<\/li>\n<li>Press <strong>Start<\/strong>. The countdown, a progress bar and the finish time appear.<\/li>\n<li>When the time is up, the clock turns red and the alarm rings for about 5 seconds. Press <strong>Start over<\/strong> to set a new timer.<\/li>\n<\/ol>\n<h2>Full screen speaker timer for conferences, classes and video meetings<\/h2>\n<p>Press the red <strong>Full screen timer<\/strong> button and the countdown fills the whole screen, big enough to read from a stage or across a room. Everything a speaker or chair needs is on that one screen, so nobody has to hunt for a small button mid-talk.<\/p>\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/online-timer-full-screen.jpg\" alt=\"Full screen online timer showing large countdown digits, a big Start button, plus and minus 1 minute buttons and a red Exit button\" width=\"1200\" height=\"678\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-69438\" srcset=\"https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/online-timer-full-screen.jpg 1200w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/online-timer-full-screen-300x170.jpg 300w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/online-timer-full-screen-1024x579.jpg 1024w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/online-timer-full-screen-150x85.jpg 150w, https:\/\/www.quickonlinetips.com\/archives\/wp-content\/uploads\/online-timer-full-screen-768x434.jpg 768w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><figcaption>The full screen timer: huge digits, one big Start or Pause button, and a red Exit (Esc) button in the corner.<\/figcaption><\/figure>\n<h3>Why it works well at conferences and events<\/h3>\n<ul>\n<li><strong>Readable from far away.<\/strong> The digits fill most of the screen, so a speaker can check the time with a glance from the stage or podium.<\/li>\n<li><strong>Colour warnings without a word.<\/strong> The numbers turn amber in the last minute and red at zero, so the speaker knows to wrap up without the chair having to interrupt.<\/li>\n<li><strong>One big Start or Pause button.<\/strong> It is green when the timer is ready and amber while it runs, with a clear play or pause icon. On a keyboard, the Space bar does the same.<\/li>\n<li><strong>Add or take off a minute on the fly.<\/strong> The <strong>+ 1 min<\/strong> and <strong>&minus; 1 min<\/strong> buttons let the chair give a speaker extra time, or tighten a session that started late, without stopping the clock.<\/li>\n<li><strong>Dark or light screen.<\/strong> Dark suits a dim hall or stage monitor; light suits a bright classroom or a projector that washes out dark colours. Your choice is remembered next time.<\/li>\n<li><strong>Short alarm.<\/strong> The alarm rings for about 5 seconds, then stops, so it never drowns out a speaker who is finishing a sentence.<\/li>\n<li><strong>Nothing to install or sign up for.<\/strong> It runs in any browser on a laptop, tablet or phone, so it works on a borrowed event laptop too.<\/li>\n<\/ul>\n<h3>How to show the timer in a video meeting<\/h3>\n<p>Video meeting apps such as Zoom, Google Meet and Microsoft Teams can share a single browser window or tab, so you can put this timer in front of everyone in the call:<\/p>\n<ol>\n<li>Open this page in its own browser window, set the time (for example 5 minutes per speaker) and press <strong>Full screen timer<\/strong>.<\/li>\n<li>In your meeting app, choose <strong>Share screen<\/strong> (or <strong>Present<\/strong>) and pick that browser window or tab, not your whole desktop.<\/li>\n<li>If you want everyone to hear the alarm, turn on the option to share sound or tab audio when you start sharing.<\/li>\n<li>Press Start, or the Space bar, when the speaker begins. Use + 1 min or &minus; 1 min if the plan changes.<\/li>\n<\/ol>\n<p><strong>Tips:<\/strong> With two screens, keep the timer on one and the meeting on the other. A speaker presenting their own slides can open the timer on a phone or tablet propped beside the laptop instead of sharing it. To have your usual length ready every time, bookmark this page with the time added, for example <code>?min=10<\/code> for 10 minutes or <code>?sec=90<\/code> for 90 seconds; the timer opens set to that time and waits for you to press Start. Writing up the meeting afterwards? See our guide to the <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2026\/11\/best-free-ai-note-taker\/\">best free AI note takers for meetings<\/a>.<\/p>\n<p><em>QuickOnlineTips is not affiliated with Zoom, Google or Microsoft.<\/em><\/p>\n<h2>Popular timer lengths and what people use them for<\/h2>\n<table class=\"qt-ref\">\n<thead>\n<tr>\n<th>Timer<\/th>\n<th>Good for<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1 minute<\/td>\n<td>Plank holds, quick breathing breaks, speed rounds in class<\/td>\n<\/tr>\n<tr>\n<td>2 minutes<\/td>\n<td>Brushing teeth, boiling a soft egg (add a minute or two), short speeches<\/td>\n<\/tr>\n<tr>\n<td>3 minutes<\/td>\n<td>Steeping tea, short presentations, board-game turns<\/td>\n<\/tr>\n<tr>\n<td>5 minutes<\/td>\n<td>Classroom tasks, stretching breaks, a quick tidy-up<\/td>\n<\/tr>\n<tr>\n<td>10 and 15 minutes<\/td>\n<td>Reading, homework sprints, meditation, cooking<\/td>\n<\/tr>\n<tr>\n<td>20 to 30 minutes<\/td>\n<td>Power naps, focused work blocks, workouts<\/td>\n<\/tr>\n<tr>\n<td>45 minutes and 1 hour<\/td>\n<td>Exams and practice tests, baking, long study sessions<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For a 25-minute work block with automatic breaks, use the <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/pomodoro-timer\/\">focus timer<\/a>. To measure how long something takes instead of counting down, use the <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/online-stopwatch\/\">online stopwatch<\/a>.<\/p>\n<h2>Will the timer still work if I switch tabs?<\/h2>\n<p>Yes. The timer works from the exact finish time, so it stays correct even when your browser slows down a hidden tab, and the alarm is scheduled ahead of time so it still rings. Keep the tab open (it can be in the background) and leave your sound on. On phones, keep the screen awake if you want to watch the countdown; some phones pause web pages when the screen locks.<\/p>\n<h2>FAQ<\/h2>\n<h3>How do I set a 2 minute timer?<\/h3>\n<p>Tap <strong>2 min<\/strong> and press <strong>Start 2-minute timer<\/strong>. You can also open this page with <code>?min=2<\/code> at the end of the address to preselect it.<\/p>\n<h3>Can I set a timer for seconds?<\/h3>\n<p>Yes. Type the seconds in the Seconds box (leave hours and minutes empty), or tap the 30 sec preset.<\/p>\n<h3>Why didn&#8217;t I hear the alarm?<\/h3>\n<p>Check that your device volume is up and not on silent, and that <strong>Ring an alarm<\/strong> is ticked. Browsers only allow sound after you press a button on the page, which is why the alarm is set up when you press Start.<\/p>\n<h3>Can I use it as a speaker timer at a conference or in a classroom?<\/h3>\n<p>Yes. Press <strong>Full screen timer<\/strong> (before or after you start). The countdown fills most of the screen so a speaker can read it from the stage. Choose a <strong>dark<\/strong> or <strong>light<\/strong> background, and the numbers turn amber in the last minute and red at zero. Press the big <strong>Start<\/strong> button (or Space) to start and pause, and press Esc or the red <strong>Exit<\/strong> button in the top right corner to leave. See the full screen section above for how to share it in a video meeting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This free online timer counts down from any time you choose and rings an alarm when the time is up. Pick a preset such as a 2 minute timer, 5, 10 or 15 minutes, or set your own hours, minutes and seconds, then press Start. It keeps time correctly even in a background tab, and&#8230;<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":65595,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-69414","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/69414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=69414"}],"version-history":[{"count":3,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/69414\/revisions"}],"predecessor-version":[{"id":69440,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/69414\/revisions\/69440"}],"up":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65595"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=69414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}