A URL can only contain a small set of ASCII characters. Spaces, ampersands, equals signs, accents and anything outside ASCII must be written as a percent sign followed by two hexadecimal digits for each UTF-8 byte. That is why a space becomes %20 and é becomes %C3%A9.
Encoding a value before you put it in a query string prevents a stray & or # from splitting the parameters. Decoding is the reverse: it turns logs, referrer strings and copied links back into the text a person can read.
This tool uses encodeURIComponent and decodeURIComponent, the same functions browsers use. They encode every reserved character, so use them on a single value such as a search term, not on a complete URL where the : / ? and & separators must stay as they are.