What is subject encoding (=?UTF-8?...=)?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
Ever seen a subject line turn into "=?UTF-8?B?Sm91cm7DqSB2b3VzIHRvdXM=?=" instead of "Journée vous tous"? That's what happens when subject encoding breaks. Subject encoding is the system that converts non-ASCII characters (accents, emojis, Cyrillic, Chinese, anything beyond basic English letters) into a format that old email servers can handle.
Email infrastructure was built in the 1970s for plain ASCII (basic English characters). When you write a subject with "café" or "🎉", your ESP converts it using MIME Encoded Word syntax (defined in RFC 2047). The pattern looks like =?charset?encoding?encoded text?=. The receiving inbox decodes it back into readable text.
Two encoding methods exist: Base64 (B) and Quoted-Printable (Q). Base64 handles anything (emojis, non-Latin scripts, binary-heavy text). Quoted-Printable is more efficient for mostly-ASCII text with a few special characters sprinkled in. Your ESP picks the right one automatically. For example, =?UTF-8?B?Sm91cm7DqSB2b3VzIHRvdXM=?= is Base64-encoded French. If the receiving server doesn't decode it properly, your elegant subject shows up as gibberish.
Most ESPs (Mailchimp, SendGrid, Brevo, Postmark) handle this encoding automatically. You write your subject in plain text (with emojis, accents, whatever), hit send, and they encode it behind the scenes. Problems only surface if you're building custom SMTP or manually constructing email headers (don't do this unless you really know what you're doing). And if you're seeing encoded subjects in inboxes, something's broken. Either your ESP isn't encoding properly (rare), or the receiving server doesn't support the charset you're using (also rare in 2025). Emojis in subject lines use this same encoding system, which is why some older email clients show them as boxes or question marks.
If you're hand-rolling SMTP or debugging raw headers, check that your charset declaration matches your actual content encoding (UTF-8 for everything modern). If you're using an ESP, this is already handled. Just write your subjects in plain text and let the platform do the encoding.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.