---
name: "base64"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:25.2.3+dfsg-1+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/base64/3erl"
---

# base64(3erl)

Provides base64 encode and decode, see RFC 2045.

## NAME

base64 - Provides base64 encode and decode, see\
     RFC 2045.

## DESCRIPTION

Provides base64 encode and decode, see RFC 2045.

## DATA TYPES

```
base64_alphabet() = 65..90 | 97..122 | 48..57 | 43 | 47 | 61
```

Base 64 Encoding alphabet, see RFC 4648.

```
base64_string() = [base64_alphabet()]
```

Base 64 encoded string.

```
base64_binary() = binary()
```

Base 64 encoded binary.

```
byte_string() = [byte()]
```

Arbitrary sequences of octets.

## EXPORTS

```
decode(Base64) -> Data
```

```
decode_to_string(Base64) -> DataString
```

```
mime_decode(Base64) -> Data
```

```
mime_decode_to_string(Base64) -> DataString
```

Types:

Base64 = base64\_string() \| base64\_binary()\
 Data = binary()\
 DataString = byte\_string()\

Decodes a base64-encoded string to plain ASCII. See RFC 4648.

*mime\_decode/1* and *mime\_decode\_to\_string/1* strip away illegal characters, while *decode/1* and *decode\_to\_string/1* only strip away whitespace characters.

```
encode(Data) -> Base64
```

```
encode_to_string(Data) -> Base64String
```

Types:

Data = byte\_string() \| binary()\
 Base64 = base64\_binary()\
 Base64String = base64\_string()\

Encodes a plain ASCII string into base64. The result is 33% larger than the data.
