Palindrome Checker
Check if a word or phrase reads the same backwards instantly
Updated
What is the Palindrome Checker?
A palindrome reads the same forwards and backwards. Our Palindrome Checker tells you in real time whether any word, phrase, sentence, or number is a palindrome, and shows you exactly why.
Built for writers, students, developers, and puzzle lovers, it handles real world text, not just simple words.
What you can check
- Single words: racecar, level, madam, 12321
- Famous phrases: A man, a plan, a canal: Panama
- Sentences with punctuation: Was it a car or a cat I saw?
- Mixed content: No lemon, no melon, Never odd or even
- Numbers and codes: 12321, 01010
Why this checker is different
Most palindrome tools only return Yes or No. This one gives you a full breakdown:
- Smart normalization with toggles for case, spaces, punctuation, accents, and alphanumeric only mode
- Visual diff of cleaned vs reversed text with mismatched characters highlighted
- Outside in comparison showing each character pair
- Longest palindromic substring found with Manacher's O(n) algorithm
- Palindromic words inside your sentence
- Near palindrome detection for typo tolerant checks, can it become a palindrome by removing one character
- Unicode aware, works with accented characters, non Latin scripts, and emoji safe code point handling
- Private and fast, 100% client side, no data sent to a server, handles up to 200,000 characters instantly
If you need to verify a word puzzle, validate coding interview logic, clean user input, or just settle a debate, this tool gives you a clear, explainable answer in milliseconds.
How it works
The checker normalizes your text based on your options, then compares it to its reverse. All processing happens in your browser.
1. Enter your text
Paste or type any word, phrase, or number into the input. The check runs live as you type. Try the example chips to see edge cases quickly.
2. Choose normalization mode
Three presets cover common needs:
- Standard: Ignore case, spaces, punctuation and diacritics. Best for sentences.
A man, a plan...becomesamanaplanacanalpanama. - Strict: Compare exact code points. No transformations. Useful for programming checks.
- A-Z plus 0-9 only: Keep only letters and numbers. Removes everything else.
You can also toggle each option individually:
- Ignore case converts to lower case with
toLocaleLowerCase() - Ignore spaces removes
\s - Ignore punctuation removes symbols that are not letters or numbers
- Ignore accents strips diacritics using NFD normalization, so
ébecomese - Alphanumeric only keeps only Unicode letters
\p{L}and numbers\p{N}
3. Comparison logic
- Normalize: Apply diacritics stripping and case folding, then filter characters.
- Reverse: Create a Unicode aware reverse using
Array.fromto handle surrogate pairs correctly. - Two pointer check: Compare characters from the outside in. The first mismatch is recorded for the message
h vs d at position 1. - Near palindrome test: If it is not a perfect palindrome, test whether removing one character from either side makes it a palindrome.
4. Advanced analysis
- Longest palindromic substring: Uses Manacher's algorithm to find the longest internal palindrome in O(n) time without brute force.
- Palindromic words: Extracts words with regex
[\p{L}\p{N}]{2,}and checks each word individually under the same options. - Performance guard: Comparisons for UI are capped at 2,000 pairs to keep rendering fast for very long inputs.
5. Read the results
- Status badge: Yes or No with explanation
- Stats: Original length, cleaned length, mismatch position, word count, near palindrome status
- Cleaned and Reversed panels: Copy buttons included, truncation for display if over 500 characters
- Outside in comparison grid: Visual
==or!=for each pair
No data leaves your device, so you can safely check private text.
Examples
Classic phrase palindrome
Famous Panama phrase that is a palindrome when punctuation and case are ignored
Single word palindrome
Simple word check for racecar
Not a palindrome
Phrase that fails the palindrome test with first mismatch highlighted
Frequently asked questions
What is a palindrome?
What is a palindrome?
A palindrome is a word, number, phrase, or sequence that reads the same backwards as forwards. Classic examples include racecar, level, 12321, and the phrase A man, a plan, a canal: Panama. In programming, the check is usually done after normalizing case and removing non essential characters.
Does your palindrome checker ignore case, spaces and punctuation?
Does your palindrome checker ignore case, spaces and punctuation?
Yes, by default. Standard mode ignores case, spaces, punctuation, and accents, which is how most people define phrase palindromes. You can switch to Strict mode if you want an exact code point comparison, or customize each toggle individually in the Normalization panel.
Can it check numbers, sentences and phrases with punctuation?
Can it check numbers, sentences and phrases with punctuation?
Yes. It works with any Unicode text, including numbers like 12321, sentences like Was it a car or a cat I saw?, and mixed punctuation like Madam, in Eden, I'm Adam. If Alphanumeric only is enabled, only letters and numbers are kept before comparison.
What is the longest palindromic substring feature?
What is the longest palindromic substring feature?
Besides checking the whole input, the tool finds the longest contiguous substring that is itself a palindrome. For example, in babad the longest is bab or aba. It uses Manacher's algorithm, which runs in linear time O(n), so it stays fast even on long text.
What does near-palindrome mean?
What does near-palindrome mean?
A near-palindrome can become a perfect palindrome by removing exactly one character. For example, abca is not a palindrome, but removing c or b makes it aba or aca. The tool flags this to help with typo tolerant checks and coding interview problems.
Does it support Unicode and accented characters?
Does it support Unicode and accented characters?
Yes. The checker is Unicode aware. It uses Array.from to handle characters outside the Basic Multilingual Plane correctly, and optionally strips diacritics via NFD normalization. So Été is detected as a palindrome when Ignore accents and Ignore case are on, and it also works with Arabic, Cyrillic, and other scripts that use \p{L}.
Is an empty string or single character considered a palindrome?
Is an empty string or single character considered a palindrome?
Mathematically, an empty string and a single character read the same backwards, but for practical use this tool requires at least one character after cleaning to return Yes. If your input becomes empty after filtering, you will see empty after filtering instead of a palindrome result. This prevents spaces or punctuation alone from being counted as valid.
Related tools
More utilities you might find handy.
Anagram Checker
Check if two strings are anagrams with customizable normalization options.
Case Converter
Convert text to various cases like uppercase, lowercase, title case, camelCase, snake_case, and more, with additional text cleaning features.
Find & Replace Tool
Find and replace text instantly online with regex, whole word, case matching, preserve case, and batch rules. 100% client-side.