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.

Ask an AI · tailored to your setup

Get custom help for your subject encoding setup →

I read this on the Email Almanac about subject encoding (=?UTF-8?...=): "Subject encoding converts non-ASCII characters like accents and emojis into a format old email servers can handle. It uses MIME Encoded Word syntax (RFC 2047) with the pattern =?charset?encoding?encoded text?=. Base64 (B) handles emojis and non-Latin scripts. Quoted-Printable (Q) is more efficient for mostly-ASCII text with a few special characters. Most ESPs handle this automatically." Help me understand how this applies to MY specific situation: 1. Why am I seeing encoded subjects? (Are my subjects showing up as =?UTF-8?... in inboxes? Is my ESP encoding them wrong? Is the recipient's inbox not decoding them?) 2. What encoding method should I use? (When does Base64 vs Quoted-Printable matter? Does my ESP let me choose?) 3. How do I test this? (What should I check in raw email headers? How do I verify subjects decode correctly across Gmail, Outlook, Apple Mail?) 4. Common mistakes to avoid (What breaks subject encoding? What charsets should I avoid? When should I NOT use emojis or accents?) --- My details (the more you share, the better the advice): - Email platform/ESP: e.g. Mailchimp, SendGrid, custom SMTP - Sending volume: e.g. 5,000/month - Experience level: beginner / intermediate / advanced - What I'm building: newsletter, transactional emails, marketing - Current challenge: describe what's broken or what prompted this question

Edit the yellow boxes, then send to the AI of your choice.