Free developer tools.

Four small tools cover a large share of interruptions in a working day: a JSON object that arrived on one line, a value that needs percent-encoding for a query string, a Base64 value that needs to be read, or a password that must meet a site’s character rules.

None requires a desktop app or a server upload. Each tool runs in your browser, which matters for configuration data, API payloads, and generated passwords. ToolRino does not send, log, or store the values you paste or generate in these tools.

The sections below explain what each encoding does and the common failure modes that cost the most time.

4 tools found

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.

Request a tool

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, and undefined are not JSON values.
  • A leading BOM: a byte order mark copied from a file can cause JSON.parse to 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.

Open the Password Generator →

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: