Free developer tools.
4 tools found
JSON Formatter
Turn messy JSON into clean, readable, validated data.
Password Generator
Create strong, random passwords with settings you control.
Base64 Encoder / Decoder
Encode and decode UTF-8 text without the extra steps.
URL Encoder / Decoder
Make text URL-safe, or decode it back into readable text.
One place for the little things. Bookmark ToolRino for next time.
Can't find the tool you need?
Tell us what you're trying to do. We review every request within 24–48 hours, and useful ideas may become free tools for everyone on ToolRino.
Choose the right developer tool
Pick the task you want to complete. Each tool includes instructions, an example, and its practical limits.
JSON formatting and validation
The errors that break JSON
JSON is defined by RFC 8259 and is stricter than the JavaScript object syntax it resembles. Common causes of invalid JSON include:
- Trailing commas:
{"a": 1,}is invalid JSON. - Single quotes: strings and property names must use double quotes.
- Unquoted keys:
{a: 1}is a JavaScript object literal, not JSON. - Comments: standard JSON has no
//or/* */comment syntax. - Unsupported values:
NaN,Infinity, andundefinedare not JSON values. - A leading BOM: a byte order mark copied from a file can cause
JSON.parseto fail. Ordinary trailing whitespace and newlines are valid.
If you need comments or trailing commas, use a format designed for them, such as JSONC or JSON5. ToolRino intentionally validates standard JSON.
Pretty-print versus minify
Formatting adds two-space indentation and line breaks so the structure is easier to read. Minifying removes optional whitespace. Both represent the same parsed data, although parsing and serializing can affect duplicate property names and some number representations.
Use formatted output when inspecting a response or reviewing a configuration diff. Use minified output when a compact value is required. Keep very large identifiers as strings because JavaScript numbers can lose integer precision.
Open the JSON Formatter →Base64 and URL encoding
What Base64 actually does
Base64 represents bytes using a restricted ASCII alphabet so they can travel through text-oriented systems. Every three bytes become four Base64 characters. Standard Base64 adds = padding when needed, making the encoded length a multiple of four. For larger inputs, the result is roughly 33% larger than the original bytes.
Base64 is not encryption. It has no key and provides no secrecy. ToolRino encodes and decodes UTF-8 text using standard Base64. It does not process arbitrary binary files, and its decoder expects the standard alphabet and correct padding.
URL-safe Base64 replaces + and / with - and_. This tool does not automatically translate that variant, so a URL-safe value must be converted to padded standard Base64 before decoding.
Percent-encoding and two different functions
Percent-encoding represents a character’s UTF-8 bytes with percent escapes. A space becomes%20, while & becomes %26.encodeURIComponent escapes URL separators such as /,?, &, =, and :, making it suitable for one parameter value. encodeURI preserves those structural characters so a complete URL remains recognizable.
ToolRino uses component encoding. Paste the individual value when you need to preserve the surrounding URL. It treats + literally when decoding; plus means a space only in form-encoded data, not in general percent-encoding.
Generating strong passwords
Why length matters
Random-password strength grows with both the number of possible characters and the length. With all four groups enabled, ToolRino uses an 85-character alphabet: 26 uppercase letters, 26 lowercase letters, 10 digits, and 23 symbols. The simplifiedlog₂(alphabet size) × length calculation gives about 6.41 bits per independently selected character.
Simplified combination estimate
- 8 characters: about 51 bits
- 12 characters: about 77 bits
- 16 characters: about 103 bits
- 20 characters: about 128 bits
How to use this estimate
These figures illustrate the growth in possible combinations; they are not guarantees against a particular attack. ToolRino also ensures each selected character group appears, so the simplified formula is not an exact model of its output distribution.
This reasoning applies to random output. A memorable substitution such asP@ssw0rd! is predictable and has much less uncertainty than its character count suggests. Prefer a longer unique generated password when a site permits it.
Why the random source matters
The generator uses crypto.getRandomValues, the browser’s cryptographic random source, with rejection sampling to avoid selection bias. It does not useMath.random. The result exists in the browser tab and ToolRino keeps no password history, so save it in a trusted password manager before leaving the page.
Common developer-tool questions
Why does my JSON say invalid when it looks fine?
A trailing comma before a closing brace or bracket is a common cause. JSON also rejects single-quoted strings, unquoted keys, comments, NaN, Infinity, and undefined. A leading byte order mark copied from a file can also make JSON.parse fail.
Does Base64 encrypt my data?
No. Base64 is reversible encoding with no key. It makes bytes representable as text but provides no confidentiality.
Why is my Base64 string longer than the original?
Base64 represents every three bytes with four characters. For larger inputs this adds roughly 33% before transport overhead, while padding has a larger proportional effect on very short inputs.
What is the difference between encodeURI and encodeURIComponent?
encodeURIComponent escapes structural characters such as /, ?, &, =, and :, making it appropriate for one parameter value. encodeURI preserves URL structure. ToolRino uses component encoding.
Why does a space appear as + instead of %20?
+ represents a space in application/x-www-form-urlencoded form data. General percent-encoding uses %20. ToolRino uses encodeURIComponent and decodeURIComponent, so a literal + remains a plus sign.
How long should my password be?
Use the longest unique random password the destination accepts and store it in a trusted password manager. Longer random passwords have more possible combinations; the security needed still depends on the system and its protections.
Are passwords generated on my device?
Yes. The generator uses your browser’s crypto.getRandomValues source with rejection sampling. ToolRino keeps no password history, so save the result before leaving the page.
Is my data sent to a server?
No. These four tools run in your browser. ToolRino does not transmit, log, or store the text and passwords you enter or generate in them.
Related tools
These tools can help with the next step in your workflow: