Convert a percent-encoded string back into readable text. This is what you need when a URL from a log file, an analytics report or a redirect chain is full of %20 and %3A and you want to see the actual values being passed.
That is double encoding, where an already-encoded string was encoded again. The percent sign itself became %25. Decode a second time to get back to the original.
A percent sign must be followed by exactly two hexadecimal digits. A literal percent in the text that was never encoded will break the decoder. It should have been written as %25.
In a URL path or query, a plus is a literal plus. In form-encoded data it represents a space. Context decides, so check where the string came from if the result looks wrong.
Yes. Decoding a whole URL is safe and is usually what you want when reading a redirect chain, because the encoded destination often sits inside a query parameter. Just remember that the readable result may no longer be a valid URL to click.