Markdown to PDF - preserve emoji
Emoji are part of professional writing now. They show up in technical docs, internal updates, casual reports. The converter renders them - with caveats.
Why emoji rendering is trickier than text
Emoji glyphs come from a specific Unicode block, and not every font ships with that block. When a font is missing a glyph, the renderer falls back to a default - sometimes a tofu square, sometimes the system emoji font (which our PDF engine can't access).
The converter bundles fonts that include common emoji ranges. Less-common emoji - flags, sub-region indicators, the newest 2024 additions - may not be present.
Which font family is most emoji-complete
- Inter - the most extensive emoji coverage in our bundled set.
- Hanken Grotesk - wide coverage of common emoji.
- Carlito - moderate coverage.
- Faculty Glyphic, Monoton - display fonts; very limited emoji.
What to do when an emoji breaks
- Switch to inter-pair or hanken-spacemono font family.
- Replace the emoji with a Unicode symbol (โ โ โ โฒ) - these have wider font support.
- Replace the emoji with a small inline image.
- Remove the emoji.
FAQ
Will full-colour emoji render?
Most emoji render in their default outline form (black or accent-coloured). Full-colour emoji like ๐ฅ, ๐ require a colour-emoji font, which @react-pdf doesn't currently support out of the box. They'll render as outline-only.
Are flag emoji supported?
Country flags use a special Unicode mechanism (regional indicator pairs) that few fonts support directly. They typically render as two letters (e.g. 'FR' instead of ๐ซ๐ท). Use a small flag image instead.
Should I use emoji in a formal document?
Sparingly. A status emoji at the start of a section heading (๐ง Planning, โ Done) is fine in internal reports. A full sentence of emoji is signal noise.
Related
https://md2document.com/markdown-to-pdf-preserve-emoji/