Free Autism Test for Toddlers


Free Autism Test for Toddlers (M-CHAT-R™)

Ages 16–30 months · simple yes/no items · instant score & next steps

✓ Evidence-informed
✓ ~5 minutes
✓ Instant results
✓ Free

Why use this screening?

Early detection: screens as early as 16 months
Recognized tool: widely used by pediatric teams
Fast & simple: brief yes/no items
Clear next steps: what to do with the result

Early support matters: if you have concerns, screening now can help you act sooner.

Progress0/20

M-CHAT-R™ Autism Screening (Educational)

For 16–30 months. Answer about your child’s usual behavior over the past few weeks.
  • Think about typical behavior
  • No right or wrong answers
  • Answer how your child behaves most of the time

M-CHAT-R™ is a trademark of Diana Robins, Deborah Fein, & Marianne Barton. This page does not host the official questionnaire; it provides a simplified educational experience.

Tip: Answer based on what your child does most of the time.

Keyboard: press Y for Yes, N for No

Screening complete

Results ready

M-CHAT-R score (educational)

0/20

Based on 20 concern prompts

Score guide: 0–2 Low · 3–7 Medium · 8–20 Higher likelihood.
See official scoring details on mchatscreen.com.

Next steps:

  • Save or screenshot results
  • Discuss with your pediatrician
  • If recommended, complete the official Follow-Up Interview
  • Early intervention can improve outcomes

Frequently Asked Questions

Is this autism test accurate for toddlers?

M-CHAT-R™ is a validated screening tool for 16–30 months. This page provides an educational experience; discuss any positive result with your healthcare provider.

How long does it take?

About 5 minutes to answer brief yes/no questions about typical behavior.

What happens after I complete it?

You’ll see an instant score with clear next steps and links to the official Follow-Up Interview information.

M-CHAT-R™ © 2009 Diana Robins, Deborah Fein & Marianne Barton. For the official questionnaire, scoring rules, translations, and Follow-Up Interview, visit mchatscreen.com.

const el = id => document.getElementById(id); const welcome = el('welcome-screen'); const qScreen = el('question-screen'); const rScreen = el('results-screen'); const pWrap = el('progress-wrap'); const pBar = el('progress-bar'); const pTxt = el('progress-text'); const qCounter = el('q-counter'); const qText = el('q-text'); const finalScore = el('final-score'); const riskLevel = el('risk-level'); const riskExplain = el('risk-explain'); const startBtn = el('start-btn'); const yesBtn = el('yes-btn'); const noBtn = el('no-btn'); const restartBtn = el('restart-btn'); const printBtn = el('print-btn');

let i = 0, score = 0;

function showOnly(which){ welcome.style.display = (which==='welcome')?'block':'none'; qScreen.style.display = (which==='q')?'block':'none'; rScreen.style.display = (which==='r')?'block':'none'; pWrap.style.display = (which==='q')?'block':'none'; }

function updateProgress(){ const done = Math.min(i, QUESTIONS.length); const pct = (done/QUESTIONS.length)*100; pBar.style.width = pct + '%'; pTxt.textContent = done + '/' + QUESTIONS.length; qCounter.textContent = 'Question ' + (done+1) + ' of ' + QUESTIONS.length; }

function renderQuestion(){ if(i >= QUESTIONS.length){ return showResults(); } qText.textContent = QUESTIONS[i].id + '. ' + QUESTIONS[i].text; updateProgress(); }

function answer(isYes){ const q = QUESTIONS[i]; if(q.riskIfYes && isYes) score++; i++; if(i { reset(); showOnly('q'); renderQuestion(); if(typeof gtag!=='undefined'){gtag('event','mchatr_start');} }); yesBtn.addEventListener('click', ()=>answer(true)); noBtn.addEventListener('click', ()=>answer(false)); restartBtn.addEventListener('click', reset); printBtn.addEventListener('click', ()=>window.print());

document.addEventListener('keydown', e=>{ if(qScreen.style.display!=='block') return; if(e.key==='y' || e.key==='Y') answer(true); if(e.key==='n' || e.key==='N') answer(false); });

showOnly('welcome');