AllInOneToolString Tools

String Tools — Stats, Random, Find & Reverse

Analyze character composition (Chinese, English, digits, punctuation, words), generate random strings from custom character sets, find and delete occurrences with highlighting, or reverse any text. Everything runs locally.

Character composition

Breakdown

Random string generator

Character sets (combine as many as you like)

Result

Find occurrences

Highlighted matches

Matches appear here as you type.

After deleting all matches

Result

Reverse string

Characters reversed
Words reversed

String length & composition stats

Paste any text and get an instant breakdown: total characters, Chinese (CJK) characters, English letters, digits, whitespace, ASCII punctuation, full-width / CJK punctuation, and everything else. Word counting handles mixed text the way editors do — Latin word runs plus each CJK character counted as one word.

Random string generator with custom character sets

Pick any combination of built-in sets — decimal digits (0–9), hexadecimal (0–9 A–F), base-36 (0–9 A–Z) or base-62 (0–9 A–Z a–z) — and optionally add your own special characters from an editable box. The special-character set is pre-filled with common symbols but only takes effect when you check it; leave the box empty and no specials are ever generated, even if checked. Randomness comes from crypto.getRandomValues, so output is cryptographically uniform.

Find, count, highlight and delete

Type a substring and see how many times it occurs, at which positions (0-based indices), with every match highlighted in place. The “after deleting” box shows the text with all matches removed — handy for stripping tokens, markers or boilerplate from logs and code.

Reverse characters or words

Flip a string character-by-character (surrogate-pair safe, so emoji survive intact) or reverse the order of its words while keeping each word readable.

Frequently asked questions

How are “words” counted in mixed Chinese/English text?
Consecutive Latin letter/digit runs count as one word each, and every CJK character counts as one word — the same convention most word processors use for bilingual documents.

What exactly is a “special character” here?
Whatever you put in the special-character box. It ships pre-filled with common symbols (!@#$%^&*() and friends) but stays inactive until you tick its checkbox — and if you clear the box, checking it changes nothing.

Are positions 0-based or 1-based?
0-based, matching what most programming languages report for string indices.

Is my text uploaded anywhere?
No. All analysis happens in your browser; the page works offline once loaded.