{
  "id": "wcpm",
  "version": "1abba5f247f3",
  "status": "published",
  "name": "WCPM Calculator",
  "question": "What is my WCPM reading score?",
  "summary": "Works out words correct per minute (WCPM) for an oral reading fluency check from the words read, the errors and the reading time, with accuracy.",
  "category": "education",
  "subcategory": "test-scores",
  "url": "https://www.acalculator.org/education/wcpm-calculator",
  "markdown": "https://www.acalculator.org/education/wcpm-calculator.md",
  "kind": "function",
  "method": "Seconds read = minutes × 60 + seconds. WCPM = (words read − errors) × 60 ÷ seconds read. Accuracy = (words read − errors) ÷ words read × 100.",
  "assumptions": [
    "Errors are counted as the teacher’s guide says (misread, skipped, substituted or reversed words); self-corrections within a few seconds usually do not count.",
    "WCPM and accuracy are shown to 1 decimal place, halves rounded up; the arithmetic is exact."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "w": {
        "title": "Words read",
        "description": "All the words the student read, right or wrong.",
        "type": "integer",
        "minimum": 1,
        "maximum": 100000
      },
      "e": {
        "title": "Errors",
        "description": "Words misread, skipped, swapped or reversed.",
        "type": "integer",
        "minimum": 0,
        "maximum": 100000
      },
      "m": {
        "title": "Time: minutes",
        "description": "Whole minutes of reading; 1 for a timed one-minute read.",
        "type": "integer",
        "minimum": 0,
        "maximum": 600
      },
      "s": {
        "title": "Time: seconds",
        "description": "Seconds on top of the minutes.",
        "type": "number",
        "minimum": 0,
        "maximum": 59.99
      }
    }
  },
  "outputs": {
    "wcpm": {
      "label": "WCPM",
      "description": "Words correct × 60 ÷ seconds read, to 1 decimal place.",
      "format": "text"
    },
    "correct": {
      "label": "Words correct",
      "description": "Words read minus errors.",
      "format": "integer"
    },
    "accuracy": {
      "label": "Accuracy",
      "description": "Words correct ÷ words read × 100, to 1 decimal place.",
      "format": "text"
    },
    "wpm": {
      "label": "Words per minute (all words)",
      "description": "Words read × 60 ÷ seconds, errors included.",
      "format": "number"
    },
    "time": {
      "label": "Seconds read",
      "description": "Minutes × 60 + seconds.",
      "format": "number"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "w": 112,
      "e": 6,
      "m": 1,
      "s": 0
    },
    "outputs": {
      "wcpm": "106.0",
      "correct": 106,
      "accuracy": "94.6%",
      "wpm": 112,
      "time": 60
    },
    "text": "The WCPM is 106.0, with 94.6% accuracy."
  },
  "examples": [
    {
      "given": {
        "w": 112,
        "e": 6,
        "m": 1,
        "s": 0
      },
      "expect": {
        "wcpm": "106.0",
        "correct": 106,
        "accuracy": "94.6%",
        "wpm": 112,
        "time": 60
      },
      "source": "Reading Universe, Words Correct Per Minute (WCPM): the words read within 60 seconds minus the errors, https://readinguniverse.org/glossary/words-correct-per-minute-wcpm (retrieved 2026-10-05); Landmark Outreach, Assessing Oral Reading Fluency (subtract the errors from the words read; for a reading longer than a minute, divide the words correct by the seconds and multiply by 60), https://www.landmarkoutreach.org/strategies/assessing-oral-reading-fluency/ (retrieved 2026-10-05); hand calculation in content.mdx: 112 − 6 = 106"
    },
    {
      "given": {
        "w": 250,
        "e": 10,
        "m": 2,
        "s": 30
      },
      "expect": {
        "wcpm": "96.0",
        "correct": 240,
        "accuracy": "96.0%",
        "wpm": 100
      },
      "source": "Landmark Outreach, Assessing Oral Reading Fluency (subtract the errors from the words read; for a reading longer than a minute, divide the words correct by the seconds and multiply by 60), https://www.landmarkoutreach.org/strategies/assessing-oral-reading-fluency/ (retrieved 2026-10-05); hand calculation in content.mdx: 240 × 60 ÷ 150 = 96"
    },
    {
      "given": {
        "w": 85,
        "e": 3,
        "m": 0,
        "s": 48
      },
      "expect": {
        "wcpm": "102.5",
        "correct": 82,
        "accuracy": "96.5%",
        "wpm": 106.25
      },
      "source": "Landmark Outreach, Assessing Oral Reading Fluency (subtract the errors from the words read; for a reading longer than a minute, divide the words correct by the seconds and multiply by 60), https://www.landmarkoutreach.org/strategies/assessing-oral-reading-fluency/ (retrieved 2026-10-05); hand calculation in content.mdx: 82 × 60 ÷ 48 = 102.5"
    },
    {
      "given": {
        "w": 200,
        "e": 13,
        "m": 1,
        "s": 45.5
      },
      "expect": {
        "wcpm": "106.4",
        "correct": 187,
        "accuracy": "93.5%",
        "time": 105.5
      },
      "source": "Landmark Outreach, Assessing Oral Reading Fluency (subtract the errors from the words read; for a reading longer than a minute, divide the words correct by the seconds and multiply by 60), https://www.landmarkoutreach.org/strategies/assessing-oral-reading-fluency/ (retrieved 2026-10-05); hand calculation in content.mdx: 187 × 60 ÷ 105.5 = 106.350…"
    }
  ],
  "sources": [
    "Landmark Outreach, Assessing Oral Reading Fluency: subtract the errors from the words read; for a reading longer than a minute, divide the words read correctly by the time in seconds and multiply by 60. Retrieved 2026-10-05. https://www.landmarkoutreach.org/strategies/assessing-oral-reading-fluency/",
    "Reading Universe, Words Correct Per Minute (WCPM): the number of words read within 60 seconds minus the errors. Retrieved 2026-10-05. https://readinguniverse.org/glossary/words-correct-per-minute-wcpm"
  ],
  "related": [
    "test-score",
    "test-grade",
    "grade"
  ],
  "changelog": []
}
