YAML URL Decoder — Free Online Tool

YAML URL Decoder

Paste a URL-encoded YAML string — from a share link, a query parameter or a log line — and get the original YAML back, indentation included. Decoding runs in your browser; nothing is uploaded.

How the decoding works

The tool applies JavaScript's decodeURIComponent():

  • Every %XX escape is turned back into its character, and multi-byte UTF-8 sequences (accented letters, emoji) are reassembled.
  • Line breaks and indentation return from %0A and %20.
  • + stays a plus sign. In HTML form encoding (application/x-www-form-urlencoded) a + means a space, but decodeURIComponent() does not treat it that way. If your input came from a form post, replace + with %20 first.
  • A broken escape stops decoding — a lone %, or % followed by non-hex characters, reports a "URI malformed" error instead of guessing.

Example

app%3A%0A%20%20name%3A%20demo%0A%20%20tags%3A%20%5Ba%2C%20b%5D%20%20%23%20list

becomes

app:
  name: demo
  tags: [a, b]  # list

Why exact decoding matters for YAML

YAML uses indentation for structure, so a decoder that dropped or changed whitespace would change the meaning of the document. Every %20 here becomes exactly one space and every %0A one line break.

When you need it

  • Recovering a config shared as a link (?config=...) from a playground or internal tool.
  • Reading logs where a YAML payload was sent as a query parameter.
  • Debugging form submissions that carry YAML.

After decoding

  • Check the result with the YAML Validator, which reports the exact line of any indentation error.
  • Text that still contains %XX after decoding was encoded twice — decode it again.
  • Convert it with YAML to JSON if the next step needs JSON.