Palindrome Checker

Free Palindrome Checker

Check instantly if a word or phrase reads the same forwards and backwards, ignoring spaces, punctuation and case. Free, instant.

Last updated 3 September 2026

Why the cleanup matters

Famous phrase-palindromes like "A man, a plan, a canal: Panama" only work once spaces, punctuation and capital letters are stripped away — checked as raw text they'd fail immediately. This tool cleans the input the same way before comparing it against its own reverse, so both single words and full phrases get checked fairly.

What counts as a palindrome here

Strictly read, a palindrome is identical character for character in both directions. By that rule almost no real sentence qualifies, because spaces and punctuation fall in the wrong places. The usual convention — and the one used here — is to ignore case, spaces and punctuation, so "A man, a plan, a canal: Panama" comes back as a palindrome even though the raw characters do not mirror.

That convention is why results differ between tools. A checker that compares raw text will reject the same sentence this one accepts, and neither is wrong; they are answering slightly different questions.

Numbers work the same way, and so do single words like level or rotator. Accented letters are compared as written, so é and e are treated as different characters — worth knowing if you are testing text in a language that uses them.

What counts as a palindrome

Strictly, a palindrome reads the same forwards and backwards character by character — level, rotor, racecar. In practice, phrase palindromes are judged after removing spaces, punctuation and capitalisation, which is why A man, a plan, a canal: Panama counts even though the raw character sequence is not symmetrical.

That normalisation step is the whole difficulty of the problem. A strict comparison rejects almost every interesting example, and a normalised comparison has to decide what to strip. Accented characters raise the same question in other languages: whether é should match e depends on the convention you are following rather than on any universal rule.

Related word forms

Several similar ideas get confused with palindromes. A semordnilap spells a different valid word backwards — stressed and desserts, diaper and repaid. A word-unit palindrome is symmetrical by word rather than by letter, as in you can cage a swallow can't you. An anagram merely reuses the same letters in any order and has nothing to do with reversal.

Beyond wordplay, the palindrome test is a standard exercise in programming courses because it packs several concepts into a small problem: string traversal, comparison from both ends, and the normalisation decisions above. The efficient solution walks two pointers inward from each end and stops at the first mismatch, rather than reversing the whole string and comparing — same result, roughly half the work, and no second copy of the string in memory.

Common questions

Why does it ignore spaces and capitalization?

Because phrase-level palindromes like 'A man, a plan, a canal: Panama' only work if you ignore spaces, punctuation and case — checking the raw text character-for-character would say it isn't one, which misses the point.

What's the simplest example of a palindrome?

Single words like 'level', 'racecar', and 'noon' are the clearest examples — spelled identically read in either direction, no cleanup needed.

Do numbers count as palindromes too?

Yes — a number like 12321 is checked the same way as text, since it reads identically in both directions.

Do spaces and punctuation count?

By strict character-for-character comparison, yes, which rejects nearly every phrase palindrome. The usual convention is to strip spaces, punctuation and capitalisation first, which is why A man, a plan, a canal: Panama is generally accepted.

What is a semordnilap?

A word that spells a different valid word backwards, such as stressed and desserts, or diaper and repaid. It is the opposite idea to a palindrome, which reads as the same word in both directions.

Is there an efficient way to test for one?

Compare two pointers moving inward from each end and stop at the first mismatch. That does roughly half the comparisons of reversing the entire string first and avoids holding a second copy in memory.

The other tools