Base64 converts binary data (like images or files) into ASCII text for safe storage or transmission. In Python, decoding it is simple using the built-in base64 module, no extra installation required.

Methods for Decoding Base64 Data in Python

Here are a few simple and effective ways to decode Base64-encoded strings in Python using built-in modules

1. Basic Base64 String Decoding

Use base64.b64decode() to decode a Base64-encoded string into bytes, and then convert to a readable format.

import base64

# Base64 encoded string (e.g., from an API or file)

encoded_data = “SGVsbG8gd29ybGQh”

# Decode to bytes

decoded_bytes = base64.b64decode(encoded_data)

# Convert bytes to string

decoded_str = decoded_bytes.decode(‘utf-8’)

print(decoded_str) # Output: Hello world!

Note: Always decode bytes to utf-8 (or your desired encoding) if you want human-readable text.

2. Decoding Base64 from a File

If your Base64 data is saved in a file, you can read and decode it easily:

import base64

# Read Base64 string from a file

with open(“data.txt”, “r”) as file:

    base64_data = file.read()

# Decode

decoded = base64.b64decode(base64_data)

# Optionally write decoded binary to another file

with open(“output.bin”, “wb”) as output_file:

    output_file.write(decoded)

This is useful when working with encoded images, PDFs, or binary files.

Also Read: How Much Does It Cost To Build A Web App With Python in 2025?

3. Decode and Handle Invalid Input (Safely)

To avoid crashing on invalid Base64 data, use try-except:

import base64

invalid_data = “NotValidBase64===”

try:

    result = base64.b64decode(invalid_data)

    print(result)

except Exception as e:

    print(“Decoding failed:”, e)

Tip

When decoding user input or API data, always validate or sanitize it first. Malformed Base64 strings can raise exceptions or security issues if not handled correctly.