ASCII armor.

OpenPGP's text encoding. Binary OpenPGP data is base64-encoded and wrapped in -----BEGIN ...----- and -----END ...----- markers, producing text you can paste into an email body, a chat message, or a config file without it getting mangled along the way.

// definition

ASCII armor (or "armored format") is OpenPGP's printable-text encoding — the binary OpenPGP byte stream is base64-encoded, framed by BEGIN and END markers, and annotated with the type of content being encoded. The opposite of binary OpenPGP.

What it is.

OpenPGP's native format is binary — compact byte sequences defined by RFC 4880 / 9580 that don't survive transit through systems that expect text. Email subjects, chat messages, copy-paste between apps, web forms — all of these can corrupt binary data by adding line wrapping, changing encodings, or stripping high-bit bytes.

ASCII armor solves this by encoding the binary as base64 (printable ASCII characters only), wrapping it in clearly-labeled BEGIN and END markers, and adding a CRC checksum so the decoder can verify the content wasn't corrupted in transit. The result is a self-contained text block that's safe to paste anywhere.

The BEGIN line identifies what's inside:

Why it matters.

Without ASCII armor, sharing PGP material through anything other than purpose-built tools would constantly fail. Email clients would corrupt binary attachments. Chat apps would strip null bytes. Copy-paste between applications would silently mangle the content. ASCII armor lets a public key fit in an email signature, a clearsigned announcement fit in a blog post, an encrypted message fit in any messenger.

The trade-off is size — base64 expands binary content by about 33%. For one-off messages that's nothing; for huge encrypted files, binary is more efficient. Most OpenPGP tools default to binary for files (.gpg) and ASCII armor for text operations.

// an ASCII-armored signature
-----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQTaaa...lots of base64...XXXX0wACgkQEd F5fSXLBQJjL3D0AAoJEAvW9wXgZsW1ZpgA/0fIv5bSAQDejtxR [...] =t9oG -----END PGP SIGNATURE-----

The trailing line =t9oG is a base64-encoded 24-bit CRC checksum. If the body was modified in transit, the checksum won't match and the decoder rejects the block.

// in PGPony Every export from PGPony produces ASCII-armored output by default — public keys, secret key backups, encrypted messages. Imports accept both binary and armored. The Decrypt tab auto-detects the format. Paste any BEGIN/END block and PGPony figures out what to do with it.

Related terms

Get PGPony

Free OpenPGP encryption for iOS and Android. No accounts, no tracking.