Skip to content
100% local

Rhyme scheme analyzer

Label each line's rhyme group (A, B, C…) and see the pattern at a glance.

Input
3
Output

Rhyme scheme analyzer

Paste a poem, song lyric or greeting-card verse and this tool works out its rhyme scheme automatically. Every non-empty line is compared to the ones before it and labeled with a letter — A, B, C and onward — so two lines sharing a letter are the tool's read of a rhyming pair. The output lists the scheme as a compact code like "ABAB" or "AABB" first, then repeats every line next to its letter so you can see which lines it grouped together.

The comparison looks at the last few characters of each line's final word — enough to catch true and near rhymes without a pronunciation dictionary. A 2–4 character slider controls how much of the ending counts: shorter catches more matches, useful for loose, near-rhyming verse, while longer is stricter and only groups lines that share more of their tail, splitting apart words that merely end in the same couple of letters. Matching ignores accents and case, so "kôň" and "koň", or "Blue" and "blue", compare the same way. Blank lines are skipped entirely and never get a letter, so stanza breaks don't throw off the count.

It's built for songwriters and poets checking whether a draft holds its scheme, students analyzing a set text for class, and anyone curious whether a limerick, sonnet or greeting-card verse follows the pattern it's supposed to. Because the check matches line endings rather than true phonetics, it works reasonably well across Latin-alphabet languages, though it can miss rhymes that sound alike but are spelled differently, or flag a false match between words that only share a suffix.

Everything runs locally in your browser — the poem you paste is never uploaded, so drafts and unpublished lyrics stay private while you check them.

FAQ

How does it decide which lines rhyme?
It takes the last word of each line, strips accents and case, and compares its final 2–4 characters (you choose the length) against every other line's ending. Lines with matching endings get the same letter — A, B, C and so on, assigned in the order each new ending first appears.
What does the ending-length setting change?
It sets how many trailing characters count toward a match. Shorter (2 characters) catches more loose or near-rhymes; longer (4 characters) is stricter and only groups lines whose word endings genuinely share more letters, which helps separate words that just happen to end the same couple of letters.
Does it understand true phonetic rhyme, or just spelling?
Spelling, not pronunciation. It's a fast heuristic that compares written letters, which works well for most rhymes but can miss pairs that sound alike yet are spelled differently (like "through" and "true" if their tails diverge past the compared length), or flag two words as matching when they only share a common suffix.
What happens to blank lines and stanza breaks?
They're skipped entirely — a blank line never gets a rhyme letter and doesn't count toward the line total, so gaps between stanzas don't shift or break the pattern that follows.
Is my poem uploaded anywhere?
No. The whole analysis runs in your browser — nothing you paste is ever sent to a server, so unpublished drafts and lyrics stay on your device.