Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Install the XRender library package that matches your wkhtmltoimage binary, then verify the dynamic linker can resolve it. On Debian and Ubuntu, that package is normally libxrender1:
sudo apt update
sudo apt install libxrender1
If the program then reports another missing library, repair that dependency too. If it starts but cannot render on a server without a display, run it through Xvfb; libXrender.so.1 supplies a client library, not an X server.
What the error means
wkhtmltoimage converts an HTML file or URL to an image using the command form wkhtmltoimage [OPTIONS]... <input file> <output file>. Before rendering, Linux’s dynamic linker loads the executable’s shared-library dependencies. When it cannot find libXrender.so.1 in the configured library paths, the process exits immediately with an error such as:
error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
The missing file is not part of wkhtmltoimage itself. On Debian-family systems, Ubuntu’s package metadata identifies libxrender1 as the provider of the X Rendering Extension client library and installs files such as /usr/lib/x86_64-linux-gnu/libXrender.so.1. Installing a package is safer than downloading an unverified shared object or making a symlink to an incompatible version.
#1 Best Overall
- [INTEL POWERED CONTENT] - Built with a 8th Generation Hexa-Core Intel i5 and 32GB of DDR4 RAM; Modern, Windows 11 ready, with 4K support, Executive multitasking, media streaming and smooth, multi-tab web browsing; Perfect as an all-purpose multimedia computer; built for content creators; Plenty of RAM and Mass storage for photo and video editing powered by Intel HD 630
- [LATEST WIRELESS TECH] - This Dell Desktop Computer easily connects to the internet through the Built In WiFi / Bluetooth
- [SOLID STATE STORAGE] - This Dell Computer setup comes with an ultra-fast 1TB Solid State Drive (SSD); Setup as the primary boot device; Boot and load programs with lightning speed ; Additional expansion available
- [BUY & OWN WITH CONFIDENCE] - From the world's largest Microsoft Authorized Refurbisher; Quality Guarantee and Free Tech Support; Award-winning Customer Service; | Support Sustainable Business
- [MODERN HI-SPEED PORTS] - USB 3.0 (x4) | USB 2.0 (x4) | DisplayPort (x1) | HDMI Port (x1) | Audio Combo Jack (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)
Identify the executable and its architecture
First confirm which binary your shell will run and whether it is 64-bit or 32-bit:
command -v wkhtmltoimage
file "$(command -v wkhtmltoimage)"
The first command prints the executable path. The second normally reports an ELF 64-bit or ELF 32-bit executable. Architecture matters: a 64-bit executable needs the 64-bit library package, while a 32-bit executable on a 64-bit host needs the i386 package and multiarch support.
If command -v prints nothing, install wkhtmltoimage or correct your PATH first. If it points to a manually unpacked or vendor-supplied build, note that path because its runtime dependencies may differ from your distribution package.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Install the library on Debian or Ubuntu
Standard 64-bit installation
- Refresh package indexes:
sudo apt update. - Install the provider package:
sudo apt install libxrender1. - Retry your original
wkhtmltoimagecommand.
Do not install a package merely because its name contains “Xrender”; use the package manager’s version for your operating-system release so security updates and ABI metadata remain consistent.
32-bit binary on a 64-bit host
If file reports a 32-bit executable, enable the matching architecture if it is not already enabled, refresh package indexes, and install the architecture-qualified package:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libxrender1:i386
Use this only when the executable is actually 32-bit. Installing i386 libraries will not satisfy a 64-bit binary.
Other Linux distributions
Fedora, Arch, openSUSE and other families use different package names and library paths. Search the native repository for the package that owns libXrender.so.1, select the package for the executable’s architecture, and install it with that distribution’s package manager. Do not copy a Debian library into another distribution or mix packages from different releases.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #2
- 12th Intel Alder Lake N95 Processor – The GMKtec G3 S Mini PC is powered by the 12th Gen Intel N95 processor with 4 cores, 4 threads, 6MB cache and a burst frequency up to 3.4GHz. Compared with N100/N5105/N5100/N5095, the N95 delivers up to 36% overall performance improvement. Perfect for routine tasks, office work, and home entertainment, this compact mini desktop is more convenient than traditional bulky PCs.
- 8GB RAM & 256GB SSD Storage – Pre-installed with 8GB DDR4 memory and a fast 256GB M.2 2242 SSD, the G3 S mini desktop offers quicker startup, smoother multitasking, and faster file transfers. Enjoy seamless performance whether you’re working on multiple applications, browsing, or streaming content.
- Rich Interfaces & Connectivity – The G3 S mini computer comes equipped with USB 3.2 (up to 10Gbps), dual HDMI 2.0 (4K@60Hz), and a 3.5mm audio jack. With support for WiFi 5, Bluetooth 5.0, and Gigabit Ethernet (RJ45 1000MbE), it connects easily with monitors, projectors, printers, office equipment, and other peripherals, making it versatile for both home and business use.
- Dual 4K Display Support – Featuring upgraded Intel UHD Graphics (up to 1000MHz), the G3 S supports 4K video playback and AV1 decoding for a smooth viewing experience. With dual HDMI outputs, you can connect two 4K@60Hz displays simultaneously, enabling efficient multitasking for work and entertainment.
- GMKtec WARRANTY - GMKtec offers a 1-year limited GMKtec's warranty for each mini PC, starting from the date of the purchase. All defects due to design and workmanship are covered. With a professional after sales team always ready to attend to your needs, you can simply relax and enjoy your mini PC.
Verify that the linker can find it
Check the package’s installed file and the linker cache:
dpkg -L libxrender1 | grep 'libXrender.so.1'
ldconfig -p | grep libXrender.so.1
The first command should show the soname and, on a typical 64-bit Ubuntu installation, its architecture-specific directory. The second shows entries known to the dynamic linker. If the file exists but does not appear in the cache, rebuild the cache and test again:
sudo ldconfig
ldconfig -p | grep libXrender.so.1
wkhtmltoimage --version
For a complete dependency report, run:
ldd "$(command -v wkhtmltoimage)"
Every required library should resolve to a path. Any line ending in not found identifies the next dependency to repair. A successful ldd check does not guarantee a successful render; it only confirms that the loader can locate the libraries.
Repair follow-up dependency errors
It is common for the first missing library to hide later failures. Once XRender is installed, the next run may name libfontconfig or another component. Install the package that owns the named library using your distribution’s repository and repeat ldd. The wkhtmltopdf packaging matrix commonly includes:
fontconfiglibfreetype6libx11-6libxcb1libxext6libxrender1- font packages and the appropriate C and C++ runtime libraries
Package names are release-specific, so let your package manager choose the exact build. Installing the complete, vendor-supported runtime set is more maintainable than copying individual .so files into /usr/lib.
Handle headless servers separately
A machine can have libXrender.so.1 and still fail because no display server is available. Ubuntu’s wkhtmltopdf package recommends an X server or Xvfb. On a headless server, install Xvfb from your distribution and invoke the command through its virtual framebuffer:
xvfb-run -a wkhtmltoimage https://example.com output.png
Adapt the input and output paths to your job. Xvfb supplies a virtual display; it does not replace missing libraries. Conversely, installing libxrender1 does not create a display server. Keep these two failure classes distinct when troubleshooting.
Rank #3
- Live Boot: Simply plug the USB drive into your computer, select the USB drive as your boot device, and experience Linux Mint without installation. This allows you to test the OS and its features before making any changes to your system.
- Install Option: Once you've tested and decided to keep Linux Mint, you can easily install it on your computer directly from the USB drive.
- Pre-installed software like LibreOffice for office tasks, a capable web browser (Firefox), email client (Thunderbird), and multimedia tools. This minimizes the need for additional downloads, saving you time and effort.
- Resource Efficiency: Designed to run efficiently on a variety of hardware configurations. It demands fewer system resources compared to some other operating systems, making it an excellent choice for older computers or devices with limited hardware specifications.
- Compatible with PC/Laptop/Desktop brands - Dell, HP, Sony, Lenovo, Samsung, Acer, Toshiba & more. Minimum system requirements 4 GB RAM Dual-Core Processor (2 GHz) 20 GB of free disk space
Package installation versus a bundled build
| Remedy | Architecture handling | Dependency completeness | Updates and maintenance | Display requirement |
|---|---|---|---|---|
| Distribution package | Package manager selects or allows an explicit architecture | Dependencies are declared to the operating system | Receives normal distribution updates; package version varies by release | May still require X or Xvfb |
| Vendor-supported bundled/static build | Must match the host and executable architecture | May bundle some components; follow that build’s documented requirements | You must track the vendor’s releases and compatibility notes | Bundling libraries does not automatically provide a display server |
Manually copied .so or symlink |
Easy to mismatch | Unclear and potentially incomplete | Hard to audit and can be overwritten or break after updates | Does not solve display-server absence |
Prefer the distribution package or a vendor build with explicit runtime requirements. Avoid hand-made links such as pointing libXrender.so.1 at an unrelated soname: an ABI mismatch can produce crashes or incorrect rendering instead of a clear startup error.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Troubleshooting by symptom
“Unable to locate package libxrender1”
Your package indexes may be stale, the repository may be disabled, or the operating system may not be Debian-family. Run sudo apt update, confirm the release repositories are enabled, and check the distribution identity. On a non-Debian system, search its native repository instead of using an Ubuntu package.
The package is installed but the same error remains
Check that the shell is invoking the binary you inspected: command -v wkhtmltoimage. Run dpkg -L libxrender1 and ldconfig -p again. If the library is in a nonstandard directory, use the package’s supported configuration to add that directory to the loader path, then run sudo ldconfig. Do not solve this by globally exporting an untrusted LD_LIBRARY_PATH in production.
ldd shows other “not found” entries
Install the package owning each named library, one at a time, and rerun ldd. The first successful repair can reveal the next missing dependency. Check architecture for every package, especially when using a 32-bit binary.
The error changed to a display or “cannot open display” failure
The XRender dependency is fixed; the remaining problem is headless execution. Start an X server or use xvfb-run -a. Confirm that your service account can execute the command and that any sandbox or container policy permits the required temporary files and fonts.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The command starts but fonts or images are wrong
Dependency resolution alone does not guarantee identical rendering. Install the fonts your page needs, use a supported wkhtmltopdf/wkhtmltoimage build, and verify network access to remote assets. If a page relies on JavaScript, allow enough time for it to finish according to your command’s options.
A container works interactively but fails in automation
Compare the image’s installed packages, architecture, PATH, fonts and display environment with the interactive shell. Run file, ldd and ldconfig -p inside the same container and as the same user that runs the job.
Rank #4
- Model: Dell OptiPlex 7050 Small Form Factor (SFF)
- Processor: Intel Core i7-7700 3.60 GHz
- Memory: 32GB DDR4 Ram
- Storage: 1TB Solid State Drive (SSD) Fast Boot + Storage
- Operating System: Windows 11 Pro (64-bit)
Or skip the browser setup
If your goal is simply to obtain a reliable website screenshot rather than maintain a wkhtmltoimage runtime, ScreenshotNeo provides a single HTTP request and does not require you to install X libraries, fonts or a virtual display. Before capture it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.
Read the complete options and authentication details in the ScreenshotNeo documentation. The following calls are runnable after replacing YOUR_API_KEY and changing the target URL.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo also supports PNG, JPEG, WebP and PDF output; full-page and element captures; device presets or custom viewports; dark mode and retina scale; custom CSS or JavaScript; clicks, selector waits, delays and network-idle waits; request blocking; headers, cookies, user agents, authorization, timezone and geolocation; transparent backgrounds, resizing, chosen cache TTLs, signed links, asynchronous jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification. Existing parameter names used by other screenshot APIs also work, which can simplify migration.
An MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots, and every feature is available on every plan. Create a free ScreenshotNeo account.
Final diagnostic checklist
- Confirm the path and architecture with
command -vandfile. - Install the matching provider package, normally
libxrender1on Debian or Ubuntu. - Verify the file with
dpkg -Land the loader cache withldconfig -p. - Run
lddand install every dependency shown asnot found. - If the loader is clean but rendering is headless, use X or Xvfb.
- Keep libraries from the same distribution release and architecture; never use random downloads or ABI-breaking symlinks.
Frequently Asked Questions
Is libXrender.so.1 included in wkhtmltoimage?
No. It is a shared X Rendering Extension client-library dependency supplied by the operating system, normally through libxrender1 on Debian-family systems.
Will installing libxrender1 solve every wkhtmltoimage failure?
It solves this specific missing-library error when the architecture matches. Other missing libraries, fonts, network access or a missing display can still prevent rendering.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsCan I fix the error by creating a symlink to another libXrender file?
Avoid that workaround. A different soname or ABI may crash or produce faulty output; install the repository package that matches the executable instead.
Quick Recap
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.

