Encoder text is converted with UTF-8 only after malformed surrogate pairs are rejected. Hex mode accepts exact byte pairs without 0x, spaces, or separators. Decoder hex is authoritative; a text preview appears only when the bytes are valid UTF-8.
The work starts only when you submit the form. Source text, byte values, and results stay in the current browser tab; Tool Swim does not upload them, log their content, save presets, or call a developer API.
Base16, Base32, Base64, and Base85 allow at most 512 KiB of source or decoded bytes and 1 MiB of encoded text. Bitcoin Base58 is limited to 4,096 bytes or 5,600 characters because generic radix conversion is quadratic.