← Back to all tools

URL Encoder/Decoder

Convert text with the right URL encoding rules.

For one query value or path segment. Encodes URL separators.

Conversion runs in this browser. Sharing is a separate action.

Ctrl or Cmd + Enter converts. Enter adds a new line.

URL component

encodeURIComponent

Use for one query value or path segment. Encodes URL separators.

Full URL

encodeURI

Use for an entire URL. Preserves URL separators like / ? & =.

Form value

application/x-www-form-urlencoded

Use for HTML form values. Spaces become +.

Encoding is not encryption or URL validation.

Frequently asked questions

Which profile should I choose?

URL component is for one query value or path segment. Full URL keeps the separators of a complete URL and does not validate it. Form value is one application/x-www-form-urlencoded scalar: spaces become + and a literal plus becomes %2B. It does not parse a=1&b=2 into parameters.

When does + mean a space?

Only in the Form value profile. A raw plus is a space before percent-decoding, and %2B becomes a literal plus. In URL component and Full URL, + stays a plus.

Why does decoding fail?

A percent sign must be followed by two hexadecimal digits, and those bytes must be valid UTF-8. A malformed sequence, an incomplete UTF-8 sequence, or an unpaired surrogate stops the conversion. The input stays in place so you can correct it. Nothing partial is shown as a result.

Is my input sent to a server?

Encoding and decoding run in this browser. A share link is created only after you review the input, output, profile and operation. That link stores the reviewed copy for 24 hours. The text is not placed in the URL query.