Three jobs in one place. Encoding a query value escapes everything a parameter could break on, including & = ? and #. Encoding a whole URL leaves the structural characters intact so the address still works. Decoding turns percent escapes back into readable text, which is how you make sense of a long tracking link. Malformed escapes are reported rather than thrown, so a half-copied URL tells you what is wrong.
Most online text tools send whatever you paste to a server, run the work there, and send a result back. Your words sit in someone else's logs, backups and databases, and you have to trust a privacy policy.
Local-first means the opposite: the whole tool is downloaded to your browser and runs on your own device. Nothing you type is transmitted anywhere: not to us, not to anyone. There is no server that could receive it, which is a stronger guarantee than a promise not to look.
Three consequences worth knowing:
You do not have to take that on trust. Open your browser's developer tools, watch the network panel, and type: nothing appears in it.The network's verify page walks through the same check on every Jamuny tool.
The same string in each encoding mode
https://example.com/search?q=deep purple&lang=en
Whole URL: https://example.com/search?q=deep%20purple&lang=en Query value: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Ddeep%20purple%26lang%3Den
Use query-value encoding for anything going after an = in a URL. It escapes the structural characters & = ? # /, so a value containing them cannot break out and be read as part of the URL's structure. This is the mode that prevents a search term containing an ampersand from silently truncating your parameter.
Use whole-URL encoding when you have a complete address containing spaces or accented characters and you want it to remain a working address. It leaves the slashes, question mark and ampersands intact because those are doing their job, and escapes only what would be invalid.
Encoding a whole URL with the query-value mode is the classic mistake: the link still looks vaguely right, and it no longer works.
Percent-encoding, defined by the URI standard, always produces %20 for a space. The plus form comes from HTML form submission, which uses a slightly different scheme called application/x-www-form-urlencoded.
Both appear in the wild, and they are not interchangeable: a literal plus sign in a form-encoded value means a space, while in a percent-encoded URL it means a plus. Decoding here follows the percent rules, so a plus stays a plus.
Every % in an encoded URL must be followed by exactly two hexadecimal digits. If a link was truncated in an email, wrapped by a chat client, or already partially decoded by something else, one of those sequences will be incomplete.
Decoding cannot guess what was intended, so the error names the position rather than producing plausible-looking wrong output. Usually it means you need to go back and copy the full link.
Use the query value mode for anything you are putting after a = in a URL, since it escapes the separators. Use the whole URL mode when you have a complete address containing spaces or accents and want to keep its slashes and question mark working.
Percent-encoding always produces %20. The plus form comes from HTML form submission, which uses a slightly different scheme. Decoding here follows the percent rules, so a literal plus stays a plus.
Every % in an encoded URL must be followed by two hexadecimal digits. If a link was truncated or partially decoded already, one of them is incomplete, and decoding cannot guess what was intended.