DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
Chrome screenshots

How to Fix Emojis Not Rendering in Headless Chrome Screenshots

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If emojis appear as empty boxes or the wrong symbols in a headless Chrome screenshot, first check the fonts installed in the Linux environment that actually launches Chrome. Headless mode captures the page Chrome renders; it does not install an emoji font or supply missing glyphs. Install or correct an emoji-capable system font, refresh font configuration if needed, restart Chrome, and test the exact emoji sequence in the same runner.

Why emojis disappear or change in headless screenshots

A screenshot records rendered pixels. If Chrome cannot find a font with glyphs for the characters in the page, it may show a missing-glyph box, omit a character, or use a fallback font that renders an emoji differently. Switching to headless mode or changing screenshot dimensions does not itself add font coverage.

The clearest evidence here concerns Linux. A Chromium change authored by Timothy Gu describes historical desktop Linux behavior in which Chrome could inconsistently select contour fonts such as DejaVu Sans or Noto Sans Symbols2 for some emoji even when Noto Color Emoji was installed. The same change describes fontconfig preferences for color emoji through the und-Zsye locale or the special emoji family, and changed Chromium’s Linux fallback locale. That is useful context for understanding fallback, not a universal instruction to hard-code that locale on every current Chromium build. Chromium change 671511b0.

So separate two questions: is a suitable font installed in the screenshot environment, and does that environment’s font fallback actually select it for the characters you need? A font installed on your laptop does not imply it is installed in a CI image, container, VM, or server.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Philips 24 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 241V8LB
  • CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
  • WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
  • A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents

Diagnose the environment before changing it

  1. Identify the runtime. Record the operating system and distribution, image or VM, and the exact Chrome or Chromium build used by the screenshot job. The Linux-oriented fixes below should not be assumed to describe macOS or Windows.
  2. Reproduce in the same environment. Make a tiny HTML page containing the exact text and emoji sequence that fails, then capture it using the same browser process and runner. A basic emoji and a multi-code-point sequence—such as a skin-tone modifier or joined family emoji—may behave differently. The available evidence does not establish coverage for every sequence.
  3. Compare headed and headless rendering if practical. Run the same page in a visible browser in the same environment, if available. If both render incorrectly, investigate the system font setup first. If only the screenshot job differs, compare its browser build, launch environment, and font configuration with the headed run. This is a diagnostic comparison, not a guarantee that the modes use identical setup.
  4. Check font availability and fallback. Confirm the intended emoji font is present in the environment that starts Chrome, then inspect fontconfig’s available fonts and fallback configuration. A package being installed is not proof that Chrome selected the desired font for your page.

Keep comparisons controlled: same HTML, same emoji sequence, same browser build where possible, and same environment. Change one variable at a time so a package change is not confused with a browser-version or image change.

Install emoji fonts on Linux

For Ubuntu, a 2019 Ubuntu Server community thread reported that installing fonts-noto resolved missing non-Latin characters in headless Chrome. The thread also mentioned fonts-indic and fonts-noto-cjk for additional script coverage. This is a user-reported workaround, not current official Ubuntu package guidance; those extra language packages are not established as necessary for emoji. Check package names and availability for your distribution and image before adopting the example. Ubuntu community discussion.

On an Ubuntu-derived environment, an initial package check/install might look like this:

Rank #2
Philips 22 Inch Computer Monitor FHD 100Hz VA VESA Flicker-Free, 221V8LB
  • CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
  • 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
  • SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
  • INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
  • THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
sudo apt-get update
sudo apt-get install -y fonts-noto

Use that only if your deployment actually uses a compatible Ubuntu package manager and the package is available in its configured repositories. For other distributions, use their package manager and verify the package that provides an emoji-capable font. Select additional script packages only for scripts your pages need. Do not assume that a package named for Noto has identical content or coverage on every distribution.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After installing fonts, ensure fontconfig’s view of available fonts is current if your image or package workflow requires a cache refresh, then restart the Chrome process. The exact cache command and package names depend on the target distribution; the sources cited here do not establish a current universal command for all Linux images.

Check font fallback without making a broad system change

When the font exists but emoji remain monochrome, inconsistent, or absent, investigate which font is selected for the failing characters and whether fontconfig’s configuration in the runner makes that font reachable. Chromium’s historical Linux implementation notes explain why fallback matters: some emoji could land on contour fonts despite a dedicated color emoji font being available.

Rank #3
Sale
Dell 24 Monitor - SE2426H - 23.8-inch FHD (1920x1080) 144Hz 1ms Display, in-Plane Switching (IPS) Technology, AMD FreeSync™, TÜV 3-Star 2X HDMI, Tilt
  • Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
  • Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
  • Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
  • In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
  • Ultra-thin bezels: Maximize your viewing experience with thin bezels.

Avoid blindly prepending an emoji font as the preferred font for all text. The Chromium change notes that such a workaround can affect ordinary characters as well as emoji. Prefer a targeted fix that preserves normal script fallback, and validate both the failing emoji and nearby ordinary text after changing configuration. The historical Chromium change documents implementation behavior; it does not establish a current configuration snippet suitable for every build.

Platform font behavior is not interchangeable. A separate Chromium change documenting removal of special -webkit-pictograph handling listed different defaults for that feature on macOS, Windows, Linux, and ChromeOS. Those entries are historical implementation details, not a current universal mapping of each platform’s emoji font. Chromium change a8b4f7b791cbb080753502f20f6b4e07e1ed7595. Diagnose the actual target OS rather than applying Linux advice to a desktop platform.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the fix in the capture job

  1. Rebuild or update the actual runner image with the font package or configuration change.
  2. Start a fresh Chrome process after the change; an already-running browser may retain its prior environment.
  3. Capture the minimal test page containing the exact failing sequence, using the same launch and screenshot path as production.
  4. Check the output at its intended scale and format. Verify that emoji are present and that adjacent text has not changed unexpectedly.
  5. Keep a regression fixture for the exact strings your application depends on, especially if they include joined or modified emoji sequences.

Chrome’s documented command-line screenshot capability captures a page and allows a window size to be specified, but those screenshot options control capture rather than font installation. See Chrome for Developers: Headless mode.

Rank #4
Samsung 27" Essential S3 (S36GD) Series FHD 1800R Curved Computer Monitor
  • CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
  • SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
  • MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
  • KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
  • INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient

Common symptoms and what to check

Symptom Likely area to inspect Next step
Empty square or missing glyph No suitable font in the Chrome environment, or fallback cannot reach it Verify installed fonts and fontconfig fallback in the runner, then restart Chrome and recapture.
Some emoji work but others are boxes Coverage or fallback can differ by character or sequence Test the exact failing sequence; check font selection for its characters instead of relying on a single basic emoji test.
Emoji appear but are monochrome or stylistically different A fallback font may be rendering the glyph, or platform defaults differ Inspect the selected font and compare only within the target OS and browser environment.
It works locally but not in CI The desktop and runner may have different OS images, browser builds, font packages, or fontconfig setup Compare those inputs in the actual screenshot environment; do not infer runner coverage from the developer workstation.
Changing font packages has no effect Chrome may be running in an old process, the package may not include the needed font, or fallback may still select another face Restart the browser, verify the package contents and fontconfig state, and confirm actual selection for the failing text.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you would rather request a screenshot from an API than maintain the capture browser, ScreenshotNeo takes a URL in one GET request and returns an image or PDF. For example, this cURL request saves a WebP screenshot of a page:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. Its capture flow accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can each be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. An MCP server offers take_screenshot, get_page_info, and capture_pdf tools for AI agents. The Free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots. As with any remote capture service, confirm that its rendering environment produces the emoji appearance your page requires.

Sign up free for 1,000 screenshots a month with no card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cost and reliability considerations for a self-hosted fix

Installing fonts can address missing glyphs without changing page content, but it adds an environment dependency. Make the chosen font package and relevant configuration part of the reproducible runner image rather than applying undocumented manual changes to a single machine. That makes it easier to keep development and CI aligned and to detect a later image update that changes rendering.

Best Value
Sale
Sceptre New 22-Inch Gaming Monitor, FHD 1080p, Up to 144Hz, HDMI, DisplayPort, Built-in Speakers, Machine Black (E225W-FW144 Series, 2026)
  • 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
  • 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
  • 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.

For reliability, preserve a small screenshot check containing representative emoji used by the product. One passing basic emoji does not prove that every sequence or script renders correctly. Re-run that check when changing the base image, browser build, font packages, or fontconfig configuration. No general success rate or universal emoji coverage figure is established for these fixes; validate against the combinations your application actually displays.

Frequently asked questions

Does headless Chrome need a special emoji screenshot flag?

No such flag is established by the documented screenshot options. The issue is generally the browser environment’s fonts and fallback, not a screenshot setting that supplies missing glyphs.

Will installing Noto fix every emoji sequence?

That is not established. The Ubuntu thread reports a fix for missing non-Latin characters after installing fonts-noto; it does not prove universal emoji-sequence coverage. Test the characters your pages use.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I force und-Zsye in my Chromium setup?

Not as a blanket recommendation. The locale appears in a historical Chromium implementation change explaining Linux fallback behavior. Check the behavior of the build you deploy before introducing a system-wide fallback override.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read next

Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.