Guide

Text tools

Four panels for the strings that pass through a terminal, a config file or a log line. Each one applies a single, stated rule — no hidden cleanup.

JSON

Paste a document and choose Format for two-space indentation, Minify for a single line, or use either button to validate first: parsing happens before anything is written, so an invalid document is never reformatted.

When parsing fails, the result box names the reason and the line and column of the first error, which is usually enough to find a missing comma.

Three properties are worth knowing:

Base64

Encoding converts the input as UTF-8 and then applies standard Base64, so text outside ASCII — accents, Cyrillic, CJK, emoji — survives a round trip. Decoding reverses it and reports not valid Base64 rather than emitting mojibake when the input is malformed or the bytes are not valid UTF-8.

The URL-safe alphabet option swaps + for - and / for _ and drops padding, which is what JWT segments and many query parameters use. Turn it on to encode for that context, and on again to decode a URL-safe string.

Decoding is forgiving about transport damage: whitespace (including line breaks from a wrapped email or a log dump) is ignored, and missing padding is restored before decoding.

URL

Encoding uses encodeURIComponent, the function that escapes a single query value. That means &, =, ?, # and / are all escaped, which is what you want for a value but not for a whole URL — a complete URL would come back with its structure destroyed.

Decoding accepts a value that was percent-encoded anywhere, and treats a literal + as a space, matching how form submissions are decoded. If the input contains a malformed escape such as a lone %, the tool stops with a message instead of guessing.

input:   name=Robin Hood & co
encoded: name%3DRobin%20Hood%20%26%20co

Text

Line operations treat the input as a list of lines and write the result below. The panel reports counts of lines, words and characters as you type, which is often the whole job — paste a draft, read the number, close the tab.

Operations run on the current input, not on the previous result. To apply two of them in sequence, copy the result back into the input box first; that keeps every step visible and reversible.

One note on line endings

These panels treat a single newline as a line break and also accept Windows line endings; a trailing final newline therefore produces a last empty line, which the counts include. That is usually what you want when comparing with a grep or an editor, and it is also why counts of two files can differ by one line.