Free tool

Can your reader actually decode this?

Paste a passage, pick the lesson your student is on, and see what Cody sees: every word coloured by whether the reader can sound it out, which ones they cannot yet, and why. It is the same scorer, the same lesson rules and the same dictionary Cody holds its own stories to. Switch to compare mode to put a Cody story next to one a chat assistant wrote for the same lesson.

Prefer a full page? Open the checker on its own.

One number, four rules

1. The lesson sets the rules

Decodability is not a property of a text on its own. It depends on what the reader has been taught. Pick a lesson and the checker knows every letter-sound pattern introduced up to that point, plus the high-frequency words the program has taught by then.

2. Every word is checked against them

Each word is looked up in a dictionary of more than 180,000 entries with its spelling patterns mapped. If every pattern in the word has been taught, the reader can sound it out. If even one has not, they would have to guess.

3. Names and numbers are handled honestly

A name is told to the reader once, so it counts as read rather than as a failure. Digits and dates have no sounds to blend, so they are left out of the count altogether. Neither one can inflate or deflate a score.

4. The bar is 90%

Cody will not hand a teacher a story below 90% decodable for the chosen lesson. Research on decodable text typically cites a range between 80 and 90 percent; we hold to the top of it because a beginning reader who has to guess one word in five stops decoding and starts memorising.

What the colours mean

Every word in your passage is marked as one of four kinds. Three of them count as read; the fourth is what pulls the score down.

Decodable Counts as read
Every letter-sound pattern in this word was taught in an earlier lesson. Names count here too: the reader is told a name once and reads on.
Focus Counts as read
Uses the pattern this very lesson teaches. These are the words the passage is for.
Sight Counts as read
A high-frequency word introduced by this point in the program, read by memory rather than decoding.
Challenge Counts against
Uses a pattern this reader has not been taught, or is missing from our dictionary.

Numbers are the one thing with no colour and no tag: digits and dates have no sounds to blend, so they are left out of the count rather than scored either way.

Questions

Why do stories from ChatGPT score so low?

Ask a general assistant for a decodable story for a first grader and it writes something short and cheerful with simple sentences. Simple is not the same as decodable. It will happily reach for bright, sparkling, friends and beautiful, each of which uses a spelling pattern most first graders have not been taught yet. It has no idea which lesson your reader is on, so it cannot stay inside it. Paste one here and the red words show you exactly where it wandered off.

Does this use a different scorer from the Cody app?

No. This page sends your text to the same analyzer that scores every story Cody generates, with the same lesson rules and the same dictionary. One honest caveat: when Cody writes a story it also knows the teacher's topic words and can use a language model to spot names, so a story's own page can credit a word or two that a pasted copy cannot. Put the names in the names box and the two agree.

What does the number not tell you?

Decodability is necessary, not sufficient. A passage can be 100 percent decodable and still be dull, incoherent or wrong for a child's interests. Cody's own stories go through separate checks for coherence and content; this tool measures one thing, on purpose, so the comparison is fair.

My word is real but shows as not in the dictionary

The dictionary is large but not infinite, and it deliberately leaves out most proper nouns. Put names in the names box so they are credited. If an ordinary word is missing, it counts against the passage until we add it, which is the conservative choice.