FrAIFlow
← All tools

Practical troubleshooting guide

Put a Base64 value in one URL parameter without changing its characters

Keep Base64 and URL-component encoding separate. Debug plus signs, slashes and padding using harmless examples and a deliberate decode order.

This guide is available in English. The linked tools offer their existing language options.

A Base64 value can contain +, / and =. A query-string parser may interpret a raw + as a space. Fixing this by replacing characters at random can hide the original mistake.

Use a harmless example, never a live password, token or personal record. The UTF-8 text a?b encodes as YT9i. This first example checks the round trip but does not contain the troublesome characters. A separate literal test value, a+b/c=, is useful for checking URL-component escaping; it is not presented as valid Base64.

In the URL Encoder & Decoder, encode the parameter VALUE only. The literal a+b/c= becomes a%2Bb%2Fc%3D. Put the encoded value after a chosen key, for example ?value=a%2Bb%2Fc%3D. Do not feed the entire https://... address into a component encoder and expect its URL separators to survive unchanged.

At the receiving end, decode the URL component once. The resulting value should still be a+b/c=. If the receiver is parsing application/x-www-form-urlencoded data, its rules for a raw + differ from decodeURIComponent. FrAIFlow's component decoder keeps a literal +; it does not automatically apply form-decoding rules. That difference is part of the diagnosis, not evidence that one tool is broken.

Only after recovering an actual valid Base64 value should you Base64-decode it. If you get an invalid-padding or UTF-8 error, stop and inspect the original representation and selected format. Repeatedly decoding until a string looks readable is not a safe repair method. An unexpected %252B can indicate an additional encoding layer, but alone it does not prove which system added it.

Encoding is not encryption. URLs can be stored in history and server logs, so keeping a secret out of a query string is safer than encoding it for transport.

Use the related tools