Encodingversion v1.0.0
Text Encoding Toolkit
Four schemes, both directions, over text that is always UTF-8: HTML character references, \uXXXX escapes, hex bytes and binary bytes. Decoding resolves all 2,231 HTML5 named references, not a convenient subset — a decoder that leaves — as literal text produces output that looks plausible and is wrong.
It is not an HTML parser and it does not sanitise anything. Escaping five characters is enough in element text and in a quoted attribute, and is not enough anywhere else — the panel beside the output says exactly where, and why.
Escapes & < > " ' and nothing else. Non-ASCII passes through — <meta charset="utf-8"> is the fix for that, not é.
Escaping five characters is not sanitisation. This output is safe in element text and in a quoted attribute, and nowhere else — see the table. A 200 from the endpoint is not approval either.
From the command line
The same URL answers a POST with the value and exactly one newline. Use --data-binary @-, never -d @-: -d strips newlines, and a newline is data here.
printf '%s' '<a title='"'"'hi'"'"'>Ω 😀</a>' | curl -fsS --data-binary @- 'https://tools.primeforge.app/encode?mode=html&direction=encode'printf 'a&b' | curl -fsS --data-binary @- https://tools.primeforge.app/encodeprintf 'héllo' | curl -fsS --data-binary @- 'https://tools.primeforge.app/encode?mode=hex'A non-2xx always means the request was wrong, never that the data was bad news: curl -fsS …/encode && publish is not a safety check, and there is no output value spelled safe.