urldecode

percent-decode and -encode a string, all four JS variants side by side

The URI variants leave the characters that structure a URL alone (; , / ? : @ & = + $ #); the URIComponent variants escape them too, which is what you want for a single query value. MDN: encodeURI · encodeURIComponent

Runs entirely in your browser; nothing is sent anywhere. The input is kept in the URL fragment so you can link a result — the fragment never reaches the server.