Change case
Upper / lower / title / sentence / invert case per line with Unicode-aware conversion; non-letter scripts such as Chinese are untouched, and ZWJ emoji or combining-mark sequences are never split.
Inputs and parameters
input— Input textsteps— Step order (comma-separated; blank = this op only)caseMode— Case modelineEnding— Output line endingincludeBom— Include UTF-8 BOM on download
Real example
hello WORLD
中文文本 → UPPERCASE
→ HELLO WORLD
中文文本 (Title Case turns hello WORLD into Hello World; Chinese characters are unaffected)
Limits and failure handling
No locale-specific casing rules (e.g. Turkish i/İ, German ß→SS) and no Chinese word segmentation; JavaScript’s built-in Unicode case mapping is used. Title/sentence modes are punctuation and Unicode-letter heuristics, not grammar parsing. Limits 2 MiB / 100 000 lines; cancellable.
FAQ
How does Title Case split words?
By runs of Unicode letters/numbers (\p{L}\p{N}): first letter uppercase, rest lowercase. Chinese has no case and is preserved as-is.
Are combining marks normalised?
No silent rewriting. e+combining-acute stays two code points and uppercases to E+combining-acute; use the explicit Unicode normalisation option if you want NFC É.