String Transformer

Paste text once to inspect, convert, or repair it. Results update live. Each row shows the forward operation; when the input already looks encoded, the decoder appears above the results.

{{group.label}}
{{stats.chars}} chars {{stats.noSpace}} w/o spaces {{stats.words}} words {{stats.lines}} lines {{stats.bytes}} bytes {{charsetName}} looks like: {{detected}}
Built-in Presets
My Saved Recipes
No saved recipes

Chain any transforms or replacements into an ordered pipeline — each step's output feeds the next, CyberChef-style.

{{idx+1}} {{ getStepTitle(step) }}
?
Tokens:
{{ cat }}
No matching transforms

Pipeline Result

{{ num }}
{{ recipeDisplayValue || ' ' }}

The pipeline stopped at the failing step above — later steps were skipped. The result shown is the last successful step's output.

{{ savedRecipeNames.includes(saveRecipeName.trim()) ? 'Update recipe' : 'Save recipe' }}

Color formats{{colorResult.rows.length}}

The input looks like a CSS color. The textarea uses it as its live background.

{{r.name}} {{r.value || '—'}}

Number words{{numberWordsResult.rows.length}}

The input looks like an integer or a written number. The same value is shown in English, Russian, and Hebrew.

{{r.name}} {{r.value}}

Detected: {{detectedResult.label}}

This input looks like a known encoded format. The decoded result is ready to use.

decode suggestion
Decoded result {{detectedResult.value}}

Broken text recovery{{mojibake.length}}

Best automatic matches. “Shown as” is the encoding that produced the broken text; “actually” is the encoding of the original bytes.

{{r.shown}} {{r.actual}} i {{r.value}}

Hidden characters & lookalike letters {{hidden.payloads.length ? 'hidden text' : (hiddenNeedsReview ? 'review' : 'expected only')}} {{hidden.total + hidden.lookalikeCount}}

{{hiddenVerdict}} This is a character scan: it cannot see statistical AI watermarks such as SynthID, which live in word choice and need the provider's key to detect.

{{r.name}} {{r.value}}
{{r.name}} {{r.value}}

{{sec.name}}{{sec.rows.length}}

{{sec.help}}

{{r.name}} {{r.value}}

What String Transformer does browser-only

String Transformer is a live text workbench for developers, editors, and anyone dealing with copied data, API payloads, legacy files, or text that no longer displays correctly.

Transform text
Switch letter case, convert between camelCase, PascalCase, snake_case, kebab-case, and other naming styles, or apply reverse, slugify, trim, whitespace removal, Unicode normalization, and full-width text operations.
Encode and decode
Work with binary, URL encoding, Base32, Base45, Base64, Base64 URL-safe, hexadecimal bytes, Ascii85, quoted-printable, HTML entities, Unicode escapes, Punycode IDN, string literals, and escaped URL slashes in both directions. Morse and Braille automatically use the English or Russian alphabet that matches the text.
Control charsets
Interpret byte-based formats through a grouped charset menu with quick access to common encodings and a long tail covering Unicode, Western and Central European, Cyrillic, Arabic, Greek, Hebrew, Japanese, Chinese, Korean, Thai, Vietnamese, and other legacy families. UTF-8, UTF-16, and UTF-32 are handled locally, with configurable line endings.
Inspect colors
Recognize HEX values, CSS color names from the shared 747-name dictionary, RGB, HSL, HWB, Lab, LCH, Oklab, Oklch, and CMYK. The input area previews the detected color, while the color panel exposes every equivalent value.
Spell out numbers
Detect integers and written numbers, then show the same value in English, Russian, and Hebrew. This includes reverse parsing of common number phrases and stays hidden for ordinary text.
Chain transformations
Click any result to copy it, move it back into the input, or decode the current input as that format. Encoded-looking values also get an automatic decode suggestion above the result list. For a longer sequence, build a Recipe: add steps in order, reorder or remove them, and each step's output feeds straight into the next — CyberChef-style.
Import and export files
Drop a text file onto the input (or use "Open file…") to load it instead of pasting, and download a Recipe's final result as a plain-text file.
Recover broken text
Detect mojibake automatically, try likely “shown as” and “actually encoded as” pairs, rank readable candidates, and restore Cyrillic or Hebrew text from legacy encodings.
Find hidden characters
Spot zero-width spaces and joiners, no-break and other unusual spaces, soft hyphens, BiDi overrides, control characters, variation selectors and Unicode tag characters — the last two can carry a whole hidden message, which is decoded and shown. Words that mix Latin, Cyrillic and Greek lookalike letters are flagged and can be fixed. Emoji sequences and joiners that Persian or Indic words need are recognised and kept. Choose what to clean, optionally straighten curly quotes and dashes, and normalize to NFC or NFKC. This is a character scan, not an AI-text detector: statistical watermarks such as SynthID live in word choice and cannot be seen or removed this way.
Fix keyboard input
Convert text typed with the wrong physical keyboard layout between English QWERTY and Russian ЙЦУКЕН, transliterate Cyrillic to Latin, or recover Cyrillic from common Latin spellings automatically.

Local by design: your text stays in this browser and is never uploaded.