Palindrome Checker & Anagram Diagnostic Studio
Test whether words, phrases, or numbers read identically forward and backward with case-folding, accent decomposition, and visual letter-by-letter verification.
⚠️ 5 Fatal Traps in Palindrome Detection & Unicode String Reversal
💥 1. Unicode Surrogate Pair Splitting & Emoji Inversion
Reversing strings via str.split('').reverse().join('') splits 32-bit surrogate pairs and compound emojis into detached high and low surrogates. This produces inverted corrupt characters (e.g. 😀 inverted into ��), breaking UTF-16 strings completely. Always reverse grapheme clusters or normalize strings beforehand.
⚖️ 2. Diacritic & Accent Mismatches in European Languages
Renowned international palindromes (e.g. French "Ésope reste ici et se repose" or Spanish "Dábale arroz a la zorra el abad") fail simple character equality tests because acute accents (é, á) do not match plain vowels (e, a) without Unicode Canonical Decomposition (normalize('NFD')).
🛡️ 3. Punctuation Collisions & Smart Typographic Quotes
Complex literary palindromes often feature curly quotes (“ ” ‘ ’), em-dashes (—), and ellipses. Testing phrases with basic ASCII sanitizers (/[^a-zA-Z0-9]/) fails when Unicode typographical punctuation marks are present, triggering false non-palindrome verdicts.
🔍 4. Word-Level vs. Character-Level Palindrome Confusion
Word-unit palindromes (such as "Fall leaves after leaves fall" or "Did I say you say I did") read identically word-by-word, whereas character palindromes read letter-by-letter. Conflating the two paradigms results in false negatives in poetry analysis software.
🚀 5. Semordnilap (Heteropalindrome) False Equivalencies
Words that spell an entirely different, valid word in reverse (e.g. desserts / stressed, live / evil, gateman / nametag) are semordnilaps rather than true palindromes. Treating semordnilaps as palindromes introduces taxonomy errors in linguistic databases.