If Hindi text is missing or appears as boxes in a Playwright screenshot on Ubuntu, make sure the environment running the browser has a font with Devanagari glyphs. On Ubuntu 22.04 (Jammy), the fonts-deva package provides Lohit and Samyak TrueType fonts for Devanagari. If Playwright runs in Docker or CI, install the font in that container or runner—not only on your host machine.
Install Devanagari fonts in the browser runtime
Hindi is written in Devanagari, so Chromium needs access to a font that includes Devanagari glyphs. Ubuntu’s Jammy package listing identifies fonts-deva as a package containing Lohit and Samyak TrueType fonts. The package detail is specific to Ubuntu 22.04; check the package index for your Ubuntu release before using the same package name elsewhere. Ubuntu Jammy: fonts-deva package details
- Identify the machine or container that launches the Playwright browser.
- Install the appropriate Devanagari font package in that environment. On Ubuntu Jammy, the package is
fonts-deva; in an Ubuntu-based image, add it to the image build rather than relying on a host installation. - Rebuild or update the image, then rerun the screenshot using the same browser runtime and a page containing representative Hindi text.
- Check that the rendered output shows the intended glyphs. If it does not, investigate font availability and loading in that runtime.
Find where Playwright is running
Playwright runs directly on Ubuntu
Install the font on the Ubuntu system that runs the Playwright process. Then rerun the capture there. A font present on a different workstation will not help a browser launched on another machine.
Playwright runs in Docker or CI
Put the font in the container image or runner that hosts the browser. Installing it only on the developer’s host does not make it available inside a container. Playwright’s Docker guidance covers browser system dependencies, custom images, and remote browser execution. It recommends pinning the image version so it matches the Playwright version in the project; a mismatch can prevent Playwright from locating browser executables. Playwright Docker documentation
Recommended Free Tools
#1 Best Overall
The Playwright project’s Jammy Dockerfile runs playwright-core install-deps before installing browser binaries, illustrating that browser dependencies are configured as part of the image setup. Playwright Jammy Dockerfile
Verify the fix in the screenshot context
- Use the same runner, container, browser, and Playwright project version that produce the affected screenshot.
- Include representative Hindi words and punctuation in the page under test; a page containing only Latin text will not verify Devanagari rendering.
- Confirm that the intended font is available to the browser in that runtime. If the result is still wrong, check font loading and browser rendering there; the issue does not have one established universal cause beyond missing script coverage.
Troubleshooting common cases
Hindi appears as empty boxes or missing characters
Check whether the browser runtime has a font with Devanagari coverage. On Jammy, fonts-deva is the referenced package; verify the appropriate package for other Ubuntu releases.
Rank #2
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
The screenshot works locally but fails in CI
The local machine and CI runner have separate environments. Add the font package to the runner or browser image used by CI, then rebuild or update that environment and repeat the capture there.
The font was installed on the host, but the container output is unchanged
Install the package inside the container image that launches the browser. A host-level installation does not automatically install fonts in a container.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
Playwright cannot find the browser executable after an image change
Check that the Docker image’s Playwright version matches the version used by the project, and pin the image version as Playwright recommends. Playwright Docker documentation
The font package name does not exist
The cited package listing is for Ubuntu 22.04 Jammy. Check your distribution release’s package index for its Devanagari font packages rather than assuming the Jammy package name applies unchanged.
Rank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Or skip the browser setup
If you need a screenshot API instead of managing a browser runtime, ScreenshotNeo can return a screenshot or PDF from one request. Its capture flow removes known cookie-consent banners, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. It also offers an MCP server with screenshot tools for AI agents. The service captures pages rather than giving you control of an Ubuntu Playwright runtime, so it is not a substitute when you need that specific setup.
Example cURL request (replace the target URL as needed):
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →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. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo and get 1,000 free screenshots a month with no card.
Quick Recap
Best Value
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.

