← All updates

Emoji now render in colour

Every emoji in your PDFs — faces, flags, ZWJ families, skin tones, keycaps — now renders in full colour as native vector graphics, in markdown, templates and canvas boards alike.

markdownfontsaccessibilityemoji

Emoji used to arrive as blank outlines or missing glyphs, depending on the font. They now render in full colour, drawn straight into the PDF as native vector graphics.

Colour emoji work anywhere text works: markdown paragraphs and headings, lists and task lists, tables, bold / italic / coloured runs, links, and Obsidian canvas cards. Multi-codepoint sequences are supported properly — ZWJ families (👨‍👩‍👧‍👦), skin-tone modifiers (👍🏽), regional-indicator flags (🇦🇺), keycaps (1️⃣), heart-on-fire (❤️‍🔥) and tag-sequence subdivision flags. A sequence is one glyph for layout purposes, so an emoji's advance width is its em box and line breaking treats it like any other character of that size.

Accessibility is kept intact. Each emoji is wrapped in an /ActualText marker naming the original sequence, so copy / paste and screen readers get exactly one emoji — not one per coloured layer, and not a family read out as four separate people. Emoji inside links keep their link annotation and structure element, and documents with no emoji don't pay for the font: it's fetched only when a render actually contains one.

The artwork comes from Twemoji by Twitter/X (CC-BY 4.0), in the COLRv0 font build from mozilla/twemoji-colr. Attribution and licences live on the fonts page, which also covers the fonts every render embeds and how to bring your own.