gizmobench

Batch Palindrome Checker

Paste one word or phrase per line to check a whole list. Blank and trailing lines keep their positions, normalization settings apply consistently, and exported reports include every source line and full compared sequence.

Order: optional NFC → optional lowercase → remove selected graphemes → segment the final sequence → compare from the outside inward. Punctuation with attached marks is removed as a whole grapheme. Symbols and standalone marks remain. Lowercase is locale-independent and is not full Unicode case folding.

Load a local text file

Compares graphemes in logical order after the displayed transformations; not a language-meaning judgment. Lowercase is not full Unicode case folding. Empty-after-filter input is empty, not an affirmative palindrome. Processing stays in this browser. Inputs are not uploaded, saved or rendered as HTML. Limit: 1 MiB of UTF-8 text; processing and exports can be cancelled.

Common questions

Does batch mode keep blank and trailing lines?
Yes. Every source line is a separate input, including blank lines and the empty line after a final line break. CRLF, CR and LF are recognized as line separators. Results retain the original one-based line numbers. The batch subpage opens directly in this mode.
Which transformations are applied, and in what order?
Optional NFC normalization runs first, followed by optional locale-independent lowercasing. The selected whitespace and punctuation graphemes are then removed, and the final text is segmented again before comparison. Turn off the filters and lowercase setting for a stricter comparison. Lowercase conversion is not full Unicode case folding.
Where does the first mismatch occur in abca?
The outer a characters match. The next compared pair is b at position 2 and c at position 3, so those are the first differing positions. Positions start at one and refer to the transformed grapheme sequence, not byte offsets or character offsets in the original input.
Is empty text a palindrome?
This tool labels it empty rather than counting it as a palindrome. The same applies when all text disappears under the selected filters. A single remaining grapheme does count as a palindrome.
Are previews or exports truncated?
Result pages show 50 inputs at a time. Each preview is limited to 200 graphemes and 600 code points, with an explicit notice if shortened; a very long grapheme may be shortened visually. CSV and TXT exports include every input and the complete original and compared strings. CSV includes the comparison policy in its column heading and prefixes formula-like cells with an apostrophe; TXT escapes strings so empty values and line breaks remain explicit. Import CSV text columns as text to prevent spreadsheet auto-formatting. Batches of many short or empty lines can produce exports much larger than the source.
Is text uploaded or saved?
No. Input stays in browser memory and is processed in a cancellable local worker. The input limit is 1 MiB of UTF-8 text. Editing the input or settings clears stale results; cancellation, errors and the 30-second processing timeout preserve your original text. Files should be plain UTF-8 text. Input is never rendered as executable HTML.

Compares graphemes in logical order after the displayed transformations; not a language-meaning judgment. Lowercase is not full Unicode case folding. Empty-after-filter input is empty, not an affirmative palindrome.