Poem Analyzer
Paste a poem and the analyzer marks stress over each line's vowels, counts syllables, estimates the dominant meter with breaking feet highlighted, and letters the end-rhyme scheme — distinguishing perfect from slant rhyme. It uses this release's retained CMUdict pronunciations; unknown words are estimated and marked.
Analysis
About the Poem Analyzer
Scansion is derived from the retained CMUdict pronunciation entries in this data release (v1/2026.07-lexical.6); the primary retained variant of each word supplies its syllable count, stress digits, and rhyme key. CMUdict primarily represents North American English, so a line's marks are one defensible reading, not the only one.
How it works
- Each line is split into word tokens; each token's stress digits are placed over its vowel-letter groups when the spelling maps cleanly, otherwise the pattern is shown beside the word.
- The dominant meter is the foot (iamb, trochee, anapest, or dactyl) whose repeated pattern best matches the unambiguous stress marks across all lines; feet that contradict it are highlighted as breaking.
- End-rhyme letters compare each line's final word by rhyme key: an identical key is a perfect rhyme (uppercase letter); a shared ending with a different vowel — or a shared vowel with a different ending — is a slant rhyme (lowercase letter).
- Stanzas are separated by blank lines and each gets its own summary of lines, syllables, local meter, and scheme.
Limits and estimates
- Words absent from the pronunciation source are marked estimated: syllables come from a documented spelling heuristic (vowel-letter groups, minus a silent final "e", minimum one) and their stress is treated as flexible.
- One-syllable words are metrically ambiguous in English. The toggle above either keeps them flexible (default) or uses the dictionary stress digit with a small function-word list read as unstressed.
- Rhyme comparison uses each word's primary retained variant only; alternate pronunciations, eye rhymes, and multi-word rhymes are not considered.
- Bounds: up to 20,000 characters, 120 lines, 300 characters per line, and 40 analyzed words per line.
- Your poem is analyzed in memory and never stored; share links keep the text in the URL fragment, which your browser does not send to the server.