Input

Mode:

Output

What Is Base64 to XML?

If you've ever pulled a config from an API response or a SOAP message and found the XML payload wrapped in Base64, you know the hassle of decoding it manually. This tool handles it for you: paste the Base64-encoded string and get clean XML back instantly. It also works in reverse, letting you encode XML to Base64 for embedding in XML-based workflows, JSON payloads, or XMLHttpRequest calls. Everything runs in your browser, so your data never leaves your machine.

Toggle between Decode (Base64 → XML) and Encode (XML → Base64) using the mode buttons. All processing runs in your browser — no data is sent to any server.

How to Use This Tool

1

Choose Mode

Select Decode to convert a Base64 string to XML, or Encode to convert XML to a Base64 string.

2

Paste Input

Paste your Base64 string or XML into the left editor. Use Sample to load an example, or Upload to load from a file.

3

Copy or Download Result

The right panel updates automatically. Use Copy or Download to save the result.

Example

Decoding a Base64 string that encodes a simple XML document:

Base64 Input

Input

XML Output

Output

Frequently Asked Questions

How do I decode a Base64 encoded XML file?

Paste the Base64 string into the left editor with Decode mode selected. The tool instantly outputs the original XML on the right. You can then copy or download it. The decoding uses the browser's built-in atob() function, so nothing is sent to a server.

Can I convert XML with namespaces or CDATA to Base64?

Yes. Switch to Encode mode and paste any valid XML, including documents with namespaces, CDATA sections, or processing instructions. The tool encodes the raw text to Base64 without parsing the XML structure.

Does this tool support URL-safe Base64 (Base64url)?

The browser's atob() expects standard Base64. If you have a Base64url string (with - and _), replace - with + and _ with / first, or use our Base64 URL Decoder instead.

Is my XML data private when using this tool?

Absolutely. All encoding and decoding happens locally in your browser using JavaScript. No data is transmitted to any server. You can verify this in your browser's Network tab.

Why does encoding fail with non-Latin characters?

The browser's btoa() function only supports Latin-1 characters. If your XML contains UTF-8 characters like Chinese or Arabic text, you'll need to UTF-8 encode it first. Check the MDN Base64 guide for workarounds.

Related Tools

The Base64 encoding scheme is defined in RFC 4648. See also MDN: Base64.