Home » Kindergarten Reading Passages: Free Stories with Comprehension Questions

Kindergarten Reading Passages: Free Stories with Comprehension Questions

These free kindergarten reading passages are short stories written for beginning readers. Tap any word to hear it, press “Read to me” to listen to the whole story, then answer three comprehension questions. Every story also prints as a black-and-white reading comprehension worksheet with an answer key.

Loading the reading passages…

${N(a.text)}
${t.reads?'
Read it 3 times:
':""} ${t.questions?'
Fill in the circle next to the best answer.
'+p:""} ${t.draw?`
${N(a.draw)}
`:""}
kindergartenteacherresources.com
`});if(t.key&&t.questions){const a=e.map(r=>`${N(r.title)}${r.q.map((p,l)=>{const u=Ce(r.id,l,p[1]);return`${l+1}. ${N(u.list[u.answer])}`}).join("")}`).join("");o.push(``)}return{css:yt(t.paper),html:o.join("")}}function Tt(e,t){const{css:n,html:o}=vt(e,t);let a=document.getElementById("krp-print");a||(a=document.createElement("div"),a.id="krp-print",document.body.appendChild(a)),a.innerHTML=`${o}`;const r=document.documentElement;r.classList.add("krp-printing");const p=()=>{r.classList.remove("krp-printing"),window.removeEventListener("afterprint",p)};window.addEventListener("afterprint",p),setTimeout(()=>{window.print()},120)}const $=typeof window/^en(-|_|$)/i.test(t.lang)),Ct.forEach(t=>t(G))}$&&(We(),typeof $.addEventListener=="function"?$.addEventListener("voiceschanged",We):$.onvoiceschanged=We);const j=!!$&&typeof window.SpeechSynthesisUtterance{try{const t=new SpeechSynthesisUtterance(" ");t.volume=0,$.speak(t)}catch{}window.removeEventListener("pointerdown",e,!0),window.removeEventListener("keydown",e,!0)};window.addEventListener("pointerdown",e,!0),window.addEventListener("keydown",e,!0)}function qt(){for(const t of Wt){const n=G.find(o=>o.name.indexOf(t)===0);if(n)return n.name}const e=G.find(t=>/en-US/i.test(t.lang));return e?e.name:G[0]?G[0].name:""}const St={a:"a",I:"I",am:"am"};function U(e,t={}){if(j)try{$.cancel();const n=new SpeechSynthesisUtterance(St[e]||e),o=t.voice||qt(),a=G.find(r=>r.name===o);a?(n.voice=a,n.lang=a.lang):n.lang="en-US",n.rate=t.rate||.85,n.pitch=1.05,t.onend&&(n.onend=t.onend),t.onboundary&&(n.onboundary=t.onboundary),t.onstart&&(n.onstart=t.onstart),setTimeout(()=>$.speak(n),30)}catch{}}function Y(){try{$&&$.cancel()}catch{}}let Q=null;function zt(){if(!Q){const e=window.AudioContext||window.webkitAudioContext;if(!e)return null;Q=new e}return Q.state==="suspended"&&Q.resume(),Q}function Z(e,t,n,o="sine",a=.12){const r=zt();if(!r)return;const p=r.createOscillator(),l=r.createGain();p.type=o,p.frequency.value=e,l.gain.setValueAtTime(1e-4,r.currentTime+t),l.gain.exponentialRampToValueAtTime(a,r.currentTime+t+.02),l.gain.exponentialRampToValueAtTime(1e-4,r.currentTime+t+n),p.connect(l),l.connect(r.destination),p.start(r.currentTime+t),p.stop(r.currentTime+t+n+.05)}const K={good(){try{Z(660,0,.18),Z(880,.1,.25)}catch{}},bad(){try{Z(220,0,.22,"triangle",.08)}catch{}},tap(){try{Z(520,0,.07,"sine",.05)}catch{}},win(){try{[523,659,784,1047].forEach((e,t)=>Z(e,t*.12,.3))}catch{}}};function Dt({p:e,rate:t,onDone:n,onClose:o}){const[a,r]=z(0),[p,l]=z([]),[u,d]=z(!1),[f,m]=z(0),[i,h]=z(!1),g=we(null),b=e.q[a],k=Ce(e.id,a,b[1]);B(()=>{g.current&&g.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[]),B(()=>{!i&&j&&U(b[0],{rate:t})},[a]),B(()=>()=>Y(),[]);function y(_){if(!(u||p.includes(_)))if(_===k.answer){K.good(),d(!0);const w=f+(p.length===0?1:0);m(w),setTimeout(()=>{a{r(0),l([]),d(!1),m(0),h(!1)},children:"Try again"})]}):s(I,{children:[s("p",{class:"krp-qn",children:["Question ",a+1," of ",e.q.length]}),s("p",{class:"krp-qq",children:[b[0]," ",j&&s("button",{type:"button",class:"krp-say","aria-label":"Hear the question",onClick:()=>U(b[0],{rate:t}),children:"🔊"})]}),s("div",{class:"krp-opts",children:k.list.map((_,w)=>s("button",{type:"button",class:"krp-opt"+(u&&w===k.answer?" ok":"")+(p.includes(w)?" no":""),onClick:()=>{j&&!u&&U(_,{rate:t}),y(w)},disabled:p.includes(w),children:[s("span",{class:"krp-l",children:wt[w]}),_]}))}),s("p",{class:"krp-fb","aria-live":"polite",children:u?"Yes! ✓":p.length?"Not quite. Look back at the story and try again.":""})]})]})}function $t({p:e,prog:t,setProg:n,settings:o,setSettings:a,onBack:r,onNext:p,onPrint:l,levelName:u}){const d=ye(()=>bt(e.text),[e.id]),f=ye(()=>Te(e.text),[e.id]),[m,i]=z(null),[h,g]=z(-1),[b,k]=z({on:!1,t0:0,sec:0,done:!1}),[y,_]=z(0),[w,M]=z(!1),q=we(0),c=t[e.id]||{},W=c.r||0;B(()=>()=>{q.current++,Y()},[e.id]),B(()=>{M(!1),k({on:!1,t0:0,sec:0,done:!1}),i(null),g(-1)},[e.id]),B(()=>{if(!b.on)return;const v=setInterval(()=>_(Date.now()),200);return()=>clearInterval(v)},[b.on]);const A=o.slow?.7:.88;function X(v,S,F){q.current++,g(-1),i({s:v,w:S}),K.tap(),U(F.say,{rate:A*.95,onend:()=>i(P=>P&&P.s===v&&P.w===S?null:P)})}function D(v){const S=++q.current;if(v>=d.length){g(-1),i(null);return}g(v),i(null);const F=d[v];U(F.text,{rate:A,onboundary:P=>{if(q.current!==S||P.name&&P.name!=="word")return;const it=F.words.findIndex(rt=>P.charIndex>=rt.start&&P.charIndex=0&&i({s:v,w:it})},onend:()=>{q.current===S&&setTimeout(()=>D(v+1),250)}})}function R(){h>=0?(q.current++,Y(),g(-1),i(null)):D(0)}function Mt(){const v=Math.min(3,W+1);n({...t,[e.id]:{...c,r:v}}),v===3?K.win():K.good()}function Lt(){q.current++,Y(),g(-1),k({on:!0,t0:Date.now(),sec:0,done:!1}),_(Date.now())}function Ht(){const v=Math.max(1,Math.round((Date.now()-b.t0)/1e3));k({on:!1,t0:0,sec:v,done:!0});const S=c.b&&c.b=0?" on":""),onClick:R,children:h>=0?"■ Stop":"▶ Read to me"}),j&&s("button",{type:"button",class:"krp-chip"+(o.slow?" on":""),"aria-pressed":o.slow,onClick:()=>a({...o,slow:!o.slow}),children:"🐢 Slow"}),s("div",{class:"krp-size",role:"group","aria-label":"Text size",children:["A","A","A"].map((v,S)=>s("button",{type:"button",class:"krp-chip krp-s"+S+(o.size===S?" on":""),"aria-pressed":o.size===S,"aria-label":["Small","Medium","Large"][S]+" text",onClick:()=>a({...o,size:S}),children:v}))})]}),j&&s("p",{class:"krp-hint",children:"Tap any word to hear it."}),s("div",{class:"krp-text",style:{fontSize:It+"px"},children:d.map((v,S)=>s("span",{class:"krp-sent"+(h===S?" on":""),children:v.words.map((F,P)=>s(I,{children:[s("button",{type:"button",class:"krp-w"+(m&&m.s===S&&m.w===P?" hl":""),onClick:()=>X(S,P,F),children:F.raw})," "]}))}))}),s("div",{class:"krp-meta",children:[s("span",{children:[f," words"]}),s("span",{children:["Phonics focus: ",e.focus]})]})]}),s("div",{class:"krp-cards",children:[s("div",{class:"krp-card",children:[s("p",{class:"krp-ch",children:"Read it 3 times"}),s("div",{class:"krp-stars",children:[0,1,2].map(v=>s("span",{class:"krp-star"+(v=3,children:W>=3?"Great reading!":"I read it! ("+(W+1)+")"}),W>0&&s("button",{type:"button",class:"krp-link",onClick:()=>n({...t,[e.id]:{...c,r:0}}),children:"Start over"})]}),s("div",{class:"krp-card",children:[s("p",{class:"krp-ch",children:"Reading timer"}),s("p",{class:"krp-time",children:[Math.floor(tt/60),":",String(tt%60).padStart(2,"0")]}),b.on?s("button",{type:"button",class:"krp-btn krp-pink",onClick:Ht,children:"■ I’m done"}):s("button",{type:"button",class:"krp-btn",onClick:Lt,children:b.done?"Time it again":"⏱ Start timer"}),b.done&&s("p",{class:"krp-res",children:[f," words in ",b.sec," seconds. ",nt>200?s(I,{children:" That was super fast! Did you read every word? Try timing it again."}):s(I,{children:[" That’s about ",s("b",{children:[nt," words a minute"]}),"."]}),c.b&&c.b{q.current++,Y(),g(-1),M(!0)},children:c.q!=null?"Try the questions again":"Answer questions"})]})]}),w&&s(Dt,{p:e,rate:A,onDone:v=>n({...t,[e.id]:{...t[e.id]||{},q:Math.max(v,(t[e.id]||{}).q||0)}}),onClose:()=>M(!1)}),s("div",{class:"krp-foot",children:[s("button",{type:"button",class:"krp-btn krp-ghost",onClick:l,children:"🖨 Print this story"}),p&&s("button",{type:"button",class:"krp-btn",onClick:p,children:"Next story →"})]})]})}function At({startLevel:e}){const t=gt(),[n,o]=z(t.p||{}),[a,r]=z({size:1,slow:!1,...t.s||{}}),[p,l]=z(+e||t.l||0),[u,d]=z(null),[f,m]=z(null),[i,h]=z({questions:!0,draw:!0,reads:!0,key:!0,big:!1,paper:"letter",...t.po||{}}),g=we(null);B(()=>{kt({p:n,s:a,l:p,po:i})},[n,a,p,i]),B(()=>{const c=(location.hash||"").match(/story=([a-z]+)/);c&&L.find(W=>W.id===c[1])&&d(c[1])},[]);const b=L.filter(c=>!p||c.lv===p),k=u&&L.find(c=>c.id===u);function y(c){d(c),setTimeout(()=>g.current&&g.current.scrollIntoView({behavior:"smooth",block:"start"}),30)}const _=L.filter(c=>n[c.id]&&(n[c.id].r>=3||n[c.id].q===3)).length,w=c=>ce.find(A=>A.id===c).name;function M(){const c=f.scope==="one"?[k]:f.scope==="level"?L.filter(W=>W.lv===(k?k.lv:p||1)):L;Tt(c,i),m(null)}const q=k?k.lv:p||1;return s("div",{class:"krp",ref:g,children:[s("div",{class:"krp-head",children:[s("h2",{class:"krp-title",children:"Kindergarten Reading Passages"}),s("p",{class:"krp-sub",children:"24 short stories with read-aloud help, a reading timer, and comprehension questions. Print any story as a worksheet."}),_>0&&s("p",{class:"krp-prog",children:["⭐ ",_," of ",L.length," stories mastered"]})]}),k?s($t,{p:k,prog:n,setProg:o,settings:a,setSettings:r,levelName:w(k.lv),onBack:()=>d(null),onNext:(()=>{const c=L.indexOf(k);return cy(L[c+1].id):null})(),onPrint:()=>m({scope:"one"})}):s(I,{children:[s("div",{class:"krp-tabs",role:"group","aria-label":"Reading level",children:[s("button",{type:"button",class:"krp-tab"+(p?"":" on"),"aria-pressed":!p,onClick:()=>l(0),children:"All levels"}),ce.map(c=>s("button",{type:"button",class:"krp-tab"+(p===c.id?" on":""),"aria-pressed":p===c.id,onClick:()=>l(c.id),children:[c.name,s("small",{children:c.sub})]}))]}),p>0&&s("p",{class:"krp-tip",children:ce[p-1].tip}),s("div",{class:"krp-grid",children:b.map(c=>{const W=n[c.id]||{};return s("button",{type:"button",class:"krp-tile krp-l"+c.lv,onClick:()=>y(c.id),children:[s("span",{class:"krp-ti","aria-hidden":"true",children:c.icon}),s("span",{class:"krp-tt",children:c.title}),s("span",{class:"krp-tm",children:[w(c.lv)," · ",Te(c.text)," words"]}),s("span",{class:"krp-tp","aria-label":`Read ${W.r||0} times, quiz ${W.q!=null?W.q+" of 3":"not tried"}`,children:[[0,1,2].map(A=>s("i",{class:Am({scope:p?"level":"all"}),children:["🖨 Print ",p?w(p)+" stories":"all 24 stories"]}),_>0&&s("button",{type:"button",class:"krp-link",onClick:()=>{window.confirm("Reset all stars and scores?")&&o({})},children:"Reset stars"})]})]}),f&&s("div",{class:"krp-modal",role:"dialog","aria-modal":"true","aria-label":"Print worksheets",onClick:c=>{c.target.classList.contains("krp-modal")&&m(null)},children:s("div",{class:"krp-dlg",children:[s("button",{type:"button",class:"krp-x","aria-label":"Close",onClick:()=>m(null),children:"×"}),s("h3",{children:"Print worksheets"}),s("p",{class:"krp-ch",children:"What to print"}),s("div",{class:"krp-radios",children:[k&&s("label",{children:[s("input",{type:"radio",name:"krp-sc",checked:f.scope==="one",onChange:()=>m({scope:"one"})})," This story: ",k.title]}),s("label",{children:[s("input",{type:"radio",name:"krp-sc",checked:f.scope==="level",onChange:()=>m({scope:"level"})})," All ",w(q)," stories (6 pages)"]}),s("label",{children:[s("input",{type:"radio",name:"krp-sc",checked:f.scope==="all",onChange:()=>m({scope:"all"})})," All 24 stories"]})]}),s("p",{class:"krp-ch",children:"Include"}),s("div",{class:"krp-checks",children:[s("label",{children:[s("input",{type:"checkbox",checked:i.questions,onChange:c=>h({...i,questions:c.target.checked})})," Comprehension questions"]}),s("label",{children:[s("input",{type:"checkbox",checked:i.draw,onChange:c=>h({...i,draw:c.target.checked})})," “Draw a picture” box"]}),s("label",{children:[s("input",{type:"checkbox",checked:i.reads,onChange:c=>h({...i,reads:c.target.checked})})," “Read it 3 times” boxes"]}),s("label",{children:[s("input",{type:"checkbox",checked:i.key,disabled:!i.questions,onChange:c=>h({...i,key:c.target.checked})})," Answer key page"]}),s("label",{children:[s("input",{type:"checkbox",checked:i.big,onChange:c=>h({...i,big:c.target.checked})})," Extra large text"]})]}),s("p",{class:"krp-ch",children:"Paper"}),s("div",{class:"krp-radios krp-row",children:[s("label",{children:[s("input",{type:"radio",name:"krp-pp",checked:i.paper==="letter",onChange:()=>h({...i,paper:"letter"})})," US Letter"]}),s("label",{children:[s("input",{type:"radio",name:"krp-pp",checked:i.paper==="a4",onChange:()=>h({...i,paper:"a4"})})," A4"]})]}),s("button",{type:"button",class:"krp-btn krp-pink krp-wide",onClick:M,children:"🖨 Print or save PDF"}),s("p",{class:"krp-small",children:"Pages print in black and white. Choose “Save as PDF” in the print window to keep a copy."})]})})]})}const Pt='.krp{font-family:inherit;background:#f3f9fc;border:2px solid #7ebad7;border-radius:20px;padding:20px;margin:18px 0 30px;color:#264b5d;position:relative}.krp *{box-sizing:border-box}.krp button{font-family:inherit!important;cursor:pointer!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;min-height:0!important;line-height:1.25!important;margin:0!important;width:auto;text-decoration:none!important}.krp button:disabled{cursor:default!important}.krp-head{text-align:center;margin-bottom:14px}.krp .krp-title{margin:0 0 4px!important;font-size:26px!important;line-height:1.2!important;color:#264b5d!important;border:0!important;padding:0!important}.krp-sub{margin:0!important;color:#5d7484;font-size:15px}.krp-prog{display:inline-block;margin:10px 0 0!important;background:#fff3c4;border-radius:999px;padding:4px 14px;font-weight:700;font-size:14px}.krp-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 10px}.krp .krp-tab{background:#fff!important;color:#407b98!important;border:2px solid #7ebad7!important;border-radius:14px!important;padding:7px 14px!important;font-size:15px!important;font-weight:700!important;display:flex;flex-direction:column;align-items:center}.krp .krp-tab small{font-weight:400;font-size:12px;color:#5d7484}.krp .krp-tab.on{background:#407b98!important;color:#fff!important;border-color:#407b98!important}.krp .krp-tab.on small{color:#e3f1f8}.krp-tip{text-align:center;margin:0 0 10px!important;font-size:14px;color:#5d7484}.krp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.krp .krp-tile{background:#fff!important;border:2px solid #d7e7f0!important;border-radius:16px!important;padding:14px 10px 10px!important;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;color:#264b5d!important;transition:transform .12s,border-color .12s}.krp .krp-tile:hover{transform:translateY(-2px);border-color:#7ebad7!important}.krp-tile.krp-l1{border-top:6px solid #7ebad7!important}.krp-tile.krp-l2{border-top:6px solid #ff97fb!important}.krp-tile.krp-l3{border-top:6px solid #ffc93c!important}.krp-tile.krp-l4{border-top:6px solid #407b98!important}.krp-ti{font-size:40px;line-height:1}.krp-tt{font-weight:700;font-size:16px}.krp-tm{font-size:12px;color:#5d7484}.krp-tp{font-size:15px;color:#d5dde2;display:flex;gap:2px;align-items:center}.krp-tp i{font-style:normal}.krp-tp i.on{color:#ffc93c}.krp-tp b{font-size:11px;color:#2e9e5b;margin-left:6px}.krp-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin-top:16px}.krp .krp-btn{background:#407b98!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:11px 18px!important;font-size:16px!important;font-weight:700!important}.krp .krp-btn:hover{filter:brightness(1.07)}.krp .krp-btn.krp-pink{background:#d24fc9!important}.krp .krp-btn.krp-ghost{background:#fff!important;color:#407b98!important;border:2px solid #7ebad7!important}.krp .krp-btn:disabled{background:#2e9e5b!important;opacity:1}.krp .krp-btn.krp-wide{width:100%!important;margin-top:14px!important}.krp .krp-link{background:none!important;border:0!important;color:#5d7484!important;text-decoration:underline!important;font-size:13px!important;padding:4px!important}.krp .krp-chip{background:#fff!important;color:#407b98!important;border:2px solid #7ebad7!important;border-radius:999px!important;padding:6px 12px!important;font-size:14px!important;font-weight:700!important}.krp .krp-chip.on{background:#407b98!important;color:#fff!important;border-color:#407b98!important}.krp-rbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.krp .krp-back{background:none!important;border:0!important;color:#407b98!important;font-weight:700!important;font-size:15px!important;padding:4px 0!important}.krp-lv{font-size:13px;color:#5d7484}.krp-page{background:#fff;border-radius:18px;border:1px solid #d7e7f0;padding:18px 20px 14px}.krp-ptitle{display:flex;align-items:center;gap:10px;margin-bottom:8px}.krp-ptitle h3{margin:0!important;font-size:26px!important;color:#264b5d!important;line-height:1.2!important}.krp-icon{font-size:36px}.krp-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.krp .krp-play.on{background:#d24fc9!important}.krp-size{display:flex;gap:4px;margin-left:auto}.krp .krp-size .krp-chip{width:38px!important;height:38px;padding:0!important;display:flex;align-items:center;justify-content:center}.krp .krp-s0{font-size:13px!important}.krp .krp-s1{font-size:17px!important}.krp .krp-s2{font-size:21px!important}.krp-hint{margin:8px 0 0!important;font-size:13px;color:#5d7484}.krp-text{font-family:"Andika",inherit;line-height:1.9;margin:12px 0 6px;color:#1f3a4a}.krp-sent{border-radius:8px;transition:background .2s}.krp-sent.on{background:#fff3c4}.krp .krp-w{background:none!important;border:0!important;padding:0 1px!important;font:inherit!important;color:inherit!important;border-radius:6px!important;display:inline}.krp .krp-w:hover{background:#eaf4f9!important}.krp .krp-w.hl{background:#ffd966!important;color:#1f3a4a!important}.krp-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#5d7484;border-top:1px dashed #d7e7f0;padding-top:8px;margin-top:6px}.krp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.krp-card{background:#fff;border:1px solid #d7e7f0;border-radius:16px;padding:14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.krp-ch{font-weight:700;font-size:15px;margin:0!important;color:#264b5d}.krp-stars{font-size:34px;line-height:1;color:#d5dde2;letter-spacing:4px}.krp-star.on{color:#ffc93c}.krp-time{font-size:32px;font-weight:700;margin:0!important;font-variant-numeric:tabular-nums}.krp-res,.krp-qs{font-size:14px;margin:0!important;color:#3d5a69}.krp-quiz{position:relative;background:#fff;border:2px solid #ff97fb;border-radius:18px;padding:18px;margin-top:12px;text-align:center}.krp .krp-x{position:absolute;top:8px;right:10px;background:none!important;border:0!important;font-size:26px!important;color:#5d7484!important;padding:2px 8px!important}.krp-qn{font-size:13px;color:#d24fc9;font-weight:700;margin:0!important;text-transform:uppercase;letter-spacing:.06em}.krp-qq{font-size:22px;font-weight:700;margin:6px 0 12px!important;color:#264b5d}.krp .krp-say{background:#eaf4f9!important;border:0!important;border-radius:50%!important;width:36px!important;height:36px;font-size:17px!important;vertical-align:middle;padding:0!important}.krp-opts{display:grid;gap:8px;max-width:440px;margin:0 auto}.krp .krp-opt{display:flex;align-items:center;gap:10px;background:#f3f9fc!important;border:2px solid #d7e7f0!important;border-radius:14px!important;padding:12px 14px!important;font-size:19px!important;font-weight:700!important;color:#264b5d!important;text-align:left;width:100%!important}.krp .krp-opt:hover{border-color:#7ebad7!important}.krp .krp-opt.ok{background:#d9f5e4!important;border-color:#2e9e5b!important}.krp .krp-opt.no{opacity:.45;text-decoration:line-through!important}.krp-l{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid #7ebad7;font-size:14px;flex:0 0 auto}.krp-fb{min-height:1.5em;margin:10px 0 0!important;font-weight:700;color:#407b98}.krp-end .krp-big{font-size:46px;color:#ffc93c;margin:0!important;letter-spacing:6px}.krp-end .krp-big span{color:#d5dde2}.krp-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#1428378c;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}.krp-dlg{position:relative;background:#fff;border-radius:18px;padding:22px;max-width:440px;width:100%;max-height:92vh;overflow:auto;color:#264b5d}.krp-dlg h3{margin:0 0 6px!important;font-size:22px!important;color:#264b5d!important}.krp-dlg .krp-ch{margin:14px 0 6px!important}.krp-radios,.krp-checks{display:flex;flex-direction:column;gap:6px;font-size:15px}.krp-radios.krp-row{flex-direction:row;gap:18px}.krp-dlg label{display:flex;gap:8px;align-items:center;margin:0!important;cursor:pointer}.krp-dlg input{width:18px;height:18px;accent-color:#407b98;margin:0!important}.krp-small{font-size:13px;color:#5d7484;margin:10px 0 0!important}@media (max-width:700px){.krp{padding:14px;border-radius:16px}.krp .krp-title{font-size:22px!important}.krp-grid{grid-template-columns:repeat(2,1fr)}.krp-cards{grid-template-columns:1fr}.krp-page{padding:14px}.krp-ptitle h3{font-size:22px!important}.krp-size{margin-left:0}.krp .krp-tab{padding:6px 10px!important;font-size:14px!important}.krp-qq{font-size:19px}}';function et(){if(!document.getElementById("krp-style")){const e=document.createElement("style");e.id="krp-style",e.textContent=Pt,document.head.appendChild(e)}document.querySelectorAll(".krp-root").forEach(e=>{e.dataset.mounted||(e.dataset.mounted="1",e.innerHTML="",ht(s(At,{startLevel:e.dataset.level}),e))})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",et):et()})();

How to use the reading passages

Each story takes about 10 minutes. Here’s a simple routine that works at home or in a small reading group:

  1. Look at the title and picture. Ask, “What do you think this story is about?” Guessing first gives kids a reason to read.
  2. Listen once. Press “Read to me” and follow along. On many devices, each word lights up as it’s read.
  3. Read it together. Your child reads aloud. When they get stuck on a word, have them sound it out first, then tap the word to check.
  4. Read it 3 times. Rereading the same short story builds speed and confidence. Tap the star button after each read.
  5. Answer the questions. Each story has three questions about who, what, and where. Kids can tap the speaker to hear the question.
  6. Draw and retell. Each worksheet ends with a drawing box. Ask your child to tell you the story using their picture.

The four reading levels

The stories go from simple three-letter words to longer stories with long vowel sounds. Start at Level 1 and move up when your child reads a level smoothly.

Level What kids read Example words Best time
Level 1
CVC words
3 to 5 short sentences with short vowel words and a few sight words cat, pig, hen, bug, log Fall to winter
Level 2
More sight words
Short stories with a beginning, middle, and end, plus questions and talking said, was, you, they, come Winter
Level 3
Blends and digraphs
Words with two letters that make one sound, and consonant blends ship, chick, lunch, frog, splash Winter to spring
Level 4
Long vowels
Longer stories with silent e and vowel teams, including two nonfiction passages kite, snail, beach, goat, seeds Spring and summer

Not sure where to start? Have your child read the first Level 1 story. If they read most words without help, try Level 2. If they get stuck on more than a few words, stay at Level 1 for a while and practice the kindergarten sight words alongside.

What are decodable passages?

A decodable passage is a story made mostly of words a child can sound out with the phonics they already know. In a Level 1 story, almost every word follows the simple consonant-vowel-consonant pattern, like c-a-t. The few words that can’t be sounded out, like the and said, are common sight words kindergartners learn by heart.

Decodable stories are different from many picture books, where kids guess words from the pictures. When a child can actually sound out every word, they practice real reading and feel successful. That’s why each story here lists its phonics focus, such as short a, sh and th, or silent e.

Reading comprehension in kindergarten

Reading isn’t just saying the words. Comprehension means understanding and remembering what you read. In kindergarten, most schools follow standards like these from the Common Core:

  • Ask and answer questions about key details in a story (RL.K.1). Our questions focus on who, what, and where.
  • Retell familiar stories with key details (RL.K.2). The drawing box is a great way to start a retell.
  • Name the characters and setting in a story (RL.K.3).
  • Read emergent-reader texts with purpose and understanding (RF.K.4). Short passages like these are exactly that.

Questions to ask after any story

You don’t need a worksheet to build comprehension. After reading anything together, try a few of these:

  • Who is in the story?
  • Where does the story happen?
  • What happened first? Next? At the end?
  • How did the character feel? How do you know?
  • What would you do?

Building reading fluency

Fluency means reading smoothly, without stopping at every word. Rereading the same short passage is one of the simplest ways to build it, which is why each story has a “Read it 3 times” tracker and a reading timer.

Kindergartners aren’t usually expected to read at a set speed. Use the timer to help your child beat their own time, not to compare them with others. Watch for fewer stops and more expression on the third read. That’s real progress.

All 24 kindergarten reading passages

Here’s the full list of stories, with the phonics skill each one practices. Every story is original and free to print for home or classroom use.

Story Phonics focus Words
Level 1: CVC words
The Fat Cat short a 18
A Big Pig short i 23
The Red Hen short e 19
A Bug on a Rug short u 23
Dot and the Log short o 22
Max and the Box short a, short o 20
Level 2: More sight words
Sam’s Red Hat short vowels 35
Fun in the Sun short vowels 33
Where Is Pip? short i, question marks 35
Gus Can Help short u 32
The Fox and the Hen short o, quotation marks 31
Jen Can Jump short e, short u 23
Level 3: Blends & digraphs
Beth’s Ship sh, th 33
The Chick and the Duck ch, ck 32
Trish Has a Snack blends, sh, ch 33
The Wind and the Hat ch, wh, blends 34
Lunch at Camp ch, sh, th 32
The Frog in the Pond blends 33
Level 4: Long vowels
Kate’s Kite silent e 52
The Snail Race ai, ea, ee 48
A Day at the Beach ea, ee, ay 49
The Goat in a Coat oa, silent e 47
Jade’s Seeds ee, ea, silent e 44
Busy Bees ee, nonfiction 45

Sample story: The Fat Cat

I see a cat. The cat is fat. The cat can nap. The cat naps on a mat.

  1. What is the cat like? (fat, wet, sad)
  2. What can the cat do? (nap, run, hop)
  3. Where does the cat nap? (on a mat, in a box, on a bus)

Tips for parents and teachers

  • Keep it short and happy. One story a day is plenty. Stop before your child gets tired.
  • Let them try first. Wait a few seconds before helping with a word. Use the tap-to-hear as a check, not a shortcut.
  • Point under the words. Have your child point to each word as they read. It keeps their place and links the spoken word to the printed one.
  • Celebrate rereads. Reading a story the third time isn’t boring for young kids. It’s when they feel like real readers.
  • Use the printables in centers. Teachers can print a whole level at once for a reading center or homework packet. The answer key is on the last page.
  • Keep reading aloud to them. Kids understand much harder books than they can read. Daily read-alouds build the vocabulary that makes reading easier later.

More kindergarten reading and learning

Kindergarten reading passages FAQ

Are these reading passages free?

Yes. All 24 stories, questions, and printable worksheets are free for home and classroom use. There’s no sign-up.

How do I print a reading comprehension worksheet?

Open a story and click “Print this story,” or click “Print” on the story list to print a whole level. Choose what to include, then click “Print or save PDF.” To save a PDF, choose “Save as PDF” as the printer.

What should a kindergartner be able to read?

By the end of kindergarten, most children can read simple three-letter words, a set of common sight words, and short sentences and stories like the Level 1 and Level 2 passages. Some kindergartners read further, and some need more time. Both are normal.

How does the read-aloud work?

The reader uses the voice built into your phone, tablet, or computer, so it works on most devices without downloads. If you don’t hear anything, check that your device isn’t on silent and the volume is up.

Can my child use this on their own?

Yes. Pre-readers can listen to each story and tap the answers, and every question can be read aloud. Sitting with them the first few times helps them learn how it works.

Do the stories save my child’s progress?

Yes. Stars and quiz scores are saved in your browser on that device, so your child can see which stories they’ve mastered.