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.
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:
-----BEGIN PGP MESSAGE-----— encrypted message-----BEGIN PGP SIGNED MESSAGE-----— clearsigned text-----BEGIN PGP SIGNATURE-----— detached signature-----BEGIN PGP PUBLIC KEY BLOCK-----— public key-----BEGIN PGP PRIVATE KEY BLOCK-----— secret key (sensitive!)
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.
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.
Related terms
Get PGPony
Free OpenPGP encryption for iOS and Android. No accounts, no tracking.