Palindrome Checker
Case, spaces and punctuation stripped by default. Shows the normalised string so you can see why it did or did not pass.
—
—
Worked example
A man, a plan, a canal: Panama normalises to amanaplanacanalpanama, which reads the same in both directions. In strict mode the same text fails, because the spaces and punctuation differ.
A palindrome reads identically forwards and backwards. The interesting part is not the check — it is deciding what counts as a character, which is where strict and normalised modes diverge.
Two definitions
Strict mode compares the raw string, so any difference in case or spacing fails. Normalised mode lowercases and drops everything that is not a letter or a digit, which is the definition used in wordplay and the one that makes "A man, a plan" qualify.
Unicode considerations
Reversing a string by code unit breaks emoji and combining accents. This page segments into grapheme clusters first, so a palindrome containing accented characters is compared on visible characters rather than bytes.
Where this is actually used
Word puzzles, checking generated identifiers for accidental symmetry, and as a small correctness test for string handling in a new language. In production code, the two-line implementation is worth writing rather than depending on a library.