Reading Time Estimator

Paste your text or enter word count to get estimated reading and speaking time based on average reading speed.

Advertisement
Advertisement

Average reading speeds

TypeSpeedExample
Child reader100–150 wpmAges 6–12
Average adult200–250 wpmMost adults
Professional250–350 wpmAvid readers
Public speaking120–150 wpmPresentations

Related tools

function fmtTime(mins){if(mins<1)return'< 1 min';if(mins<60)return Math.round(mins)+' min';return Math.floor(mins/60)+'h '+Math.round(mins%60)+'m';} function showResult(words){ const wpm=+document.getElementById('speed').value||200; const readMin=words/wpm; const speakMin=words/130; document.getElementById('r-read').textContent=fmtTime(readMin); document.getElementById('r-speak').textContent=fmtTime(speakMin); document.getElementById('r-words').textContent=words.toLocaleString(); document.getElementById('result').style.display='block'; } function estimate(text){ const words=text.trim()===''?0:text.trim().split(/\s+/).filter(w=>w.length>0).length; document.getElementById('word-count-in').value=words||''; if(words>0)showResult(words);else document.getElementById('result').style.display='none'; } function estimateFromCount(v){ document.getElementById('text-in').value=''; if(+v>0)showResult(+v);else document.getElementById('result').style.display='none'; } function reEstimate(){ const text=document.getElementById('text-in').value; const wc=document.getElementById('word-count-in').value; if(text.trim())estimate(text); else if(wc)estimateFromCount(wc); } document.addEventListener('DOMContentLoaded',()=>{document.getElementById('related-grid').innerHTML=TOOLS.filter(t=>t.category==='writing'&&t.slug!=='reading-time-estimator').slice(0,4).map(buildToolCard).join('');});