tooltulipA tool for everything
All toolsCategoriesSelectionsAbout
Tool index ↗
All tools
Developer utility

URL Encoder and Decoder

Keep URL components, form values and whole-URL inspection separate so that spaces and plus signs behave as you expect.

Processing stays in your browser. Your text is not uploaded, saved, or used to open a destination.

Encode or strictly decode one component, not a whole URL. A literal + stays + when decoding.

Input text

0 / 1,048,576 UTF-8 bytes

Maximum 1 MiB UTF-8 input. Text is kept in memory only; refreshing clears it. No input is fetched, opened or uploaded. Whitespace is preserved in encoder modes.

Choose a mode and action to begin.

Output text

How to encode, decode or inspect

  1. Choose URL component, Form value or Inspect URL, then paste your text.
  2. Press Encode, Decode or Inspect URL. Processing happens only on your explicit action.
  3. Review the output, then copy it or download the complete UTF-8 url-result.txt file. Clear, examples and Swap offer in-memory Undo.

Worked examples: the plus sign matters

Component encoding of a+b&c=d gives a%2Bb%26c%3Dd. Component decoding of a+b keeps the plus sign.

Form encoding of a+b c gives a%2Bb+c. Form decoding of a+b gives a b. Form mode handles one field value, not a whole query string.

Inspecting https://example.com/p?a=1&a=2&empty=&q=a+b#top keeps both a parameters, an empty value, and decodes q to a b in the query table.

Exact conversion rules

Component encoding uses encodeURIComponent, not strict RFC 3986 encoding: ASCII letters, digits, hyphen, underscore, period, exclamation mark, tilde, asterisk, apostrophe and parentheses remain unchanged. Other characters are UTF-8 percent-encoded.

Form encoding uses URLSearchParams value rules: ASCII letters, digits and * - . _ remain unchanged; spaces become +, literal + becomes %2B, and tilde becomes %7E. Invalid Unicode surrogate sequences are rejected rather than silently replaced.

Decoding happens exactly once. %252F becomes %2F, not a slash. Encoding %2F gives %252F: the tool never guesses whether text is already encoded. Encoder whitespace is preserved, and an empty input produces an empty output.

Standalone decoders reject malformed escapes and malformed UTF-8, such as %, %GG or %C3%28, preserving the input. Form Decode first changes + to space. The inspection query table instead uses the platform's forgiving URLSearchParams parser, which can replace malformed UTF-8.

Inspection and limitations

Only absolute HTTP/HTTPS URLs are accepted; relative URLs, other schemes and credential-bearing authorities are rejected. Inspection never fetches a URL, checks its existence, expands redirects or labels a destination safe.

Parsed/normalized fields may lowercase hosts, serialize internationalized names to punycode, resolve path segments, remove tabs/newlines or omit default ports. The original input remains separate. Raw query and fragment fields show serialized values without decoding. Ordered query pairs preserve duplicate and empty names and values.

Input is limited to 1 MiB UTF-8. Processing uses a cancellable local worker; input or mode changes discard old results. The table previews the first 100 query pairs; the complete JSON text export retains every pair. Downloads and Copy always include complete accepted output. Swap is unavailable if an encoded result exceeds the input limit.

Drafts and undo exist only in memory and disappear on refresh. If clipboard access is denied, select the read-only output and copy it manually. This release does not fetch, shorten, scan or crawl URLs.

Keep exploring

Related tools

QR Code GeneratorCreate a QR code for text or a URL.JSON FormatterFormat or validate the inspection export.
Compare tools for this task:Developer tools

How was this tool?

Help us improve URL encoder decoder.

Don't include sensitive data.

0/300

Opens your email app; you send it there. No email app? Copy your comment and email feedback@tooltulip.com.

tooltulip

Small tools. Big help.

All toolsFeatured toolsCategoriesAboutPrivacy
feedback@tooltulip.com Suggest a tool
© 2026 ToolTulip. All rights reserved.ToolTulip · An ongoing project

Optional analytics help us see which tools are used. No tool inputs are sent. Privacy