Universal Encoder
Encode text using URL, Base64, JWT, Hex, Unicode, Binary, ROT13, or HTML entity encoding — pick a scheme from one dropdown instead of using a separate tool for each.
Input
Output
Guides
What this tool does
One encoder, eight schemes: URL (percent-encoding), Base64, JWT, Hex, Unicode (\uXXXX), Binary, ROT13, and HTML entities. Pick a scheme from the dropdown instead of hunting down a separate tool for each one. Everything runs entirely in your browser — nothing is uploaded, including the JWT signing key.
How to use it
- Enter the text to encode (for the JWT scheme, this is the payload, as JSON).
- Choose the scheme.
- For Hex, pick a separator and case. For JWT, pick an algorithm (HS256/384/512) and enter a secret.
- Read the result. Copy it or download it as a
.txtfile.
Frequently asked questions
How does JWT encoding work here?
Type the payload as a JSON object (e.g. {"sub":"123","name":"Jane"}), pick HS256/HS384/HS512, and enter a secret — the header ({"alg":..., "typ":"JWT"}) is built automatically to match your algorithm choice, the same behavior as the dedicated JWT Encoder. Only HMAC (HS-family) algorithms are supported; RSA/ECDSA signing isn't available client-side.
Which tool should I use if I only ever encode one format? The dedicated single-scheme tools have more options: URL Encoder / Decoder, Text to Base64 Encode, JWT Encoder, Text to Hex, Text to Binary, ROT13 Encoder / Decoder, and Unicode to HTML Entities. This tool exists for switching between schemes without changing pages.
Is my input — or my JWT secret — ever sent anywhere?
No — every scheme here, including JWT signing, runs as a pure, synchronous function in your browser using an audited crypto library (@noble/hashes). Nothing is uploaded to a server. Even so, never paste a real production signing secret into any online tool.
Need to decode instead? Use the matching Universal Decoder.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/universal-encoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputText": "Hello, World!",
"scheme": "base64"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `universal-encoder` tool (Universal Encoder) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.