The two encode modes use the browser's own encodeURIComponent and encodeURI, so the output is exactly what JavaScript would produce. Decoding checks every percent-escape first and points at the offending one when it's malformed, rather than returning the bare “URI malformed” the browser gives you. When the input is a complete URL with a scheme and host, the breakdown card splits it into protocol, host, port, path and fragment, and lists each query parameter with its decoded value.
Everything runs in your browser — nothing you paste is sent to a server, so it's safe to use on links that contain tokens or session IDs.