What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
pip cannot install the wkhtmltoimage program itself. It installs Python packages, while wkhtmltoimage is a separate command-line executable from the wkhtmltopdf project. Install the operating-system package or installer first, then optionally install a Python wrapper such as IMGKit with python -m pip install imgkit. The wrapper and the executable are two different installations.
What pip installs—and what it does not
wkhtmltoimage renders HTML into image formats with the Qt WebKit engine. It is distributed as part of the wkhtmltopdf project, not as a Python package. The project’s overview is at wkhtmltopdf.org.
- Executable: the
wkhtmltoimagebinary installed by an operating-system package, installer or archive from the project’s downloads page. - Python wrapper: an optional library such as IMGKit, installed into your Python environment with pip. IMGKit still needs the binary present and discoverable.
Therefore, a command such as pip install wkhtmltoimage is not the normal installation method for the renderer. Use the platform-specific packages listed at the official downloads page, and use pip only for Python integration.
Choose the installation route
Command line only
Install the matching wkhtmltoimage package or installer, put the executable on your PATH (or record its full path), and invoke it from a shell. This is the simplest route when another program will call the command directly.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors#1 Best Overall
- 14" diagonal, 1366x768 resolution, HD BrightView LED, Glossy NON-TOUCH Display
Python integration
Install the binary first, then install IMGKit in the same Python environment that will run your code:
python -m pip install imgkit
IMGKit provides a Python API, but it does not bundle wkhtmltoimage. Its package page documents that separate requirement: PyPI — imgkit.
How to decide
| Need | Install | Main consideration |
|---|---|---|
| Shell scripts or another application calling a command | Binary only | Ensure the executable is on PATH or use its absolute path. |
| Python code that should call the renderer | Binary plus IMGKit | Both must be available to the same runtime user and environment. |
| Linux deployment | Distribution- and architecture-matched binary plus required libraries | Linux builds are not interchangeable; fonts and system libraries affect startup and output. |
Install the standalone executable
1. Identify your operating system and architecture
Before downloading, record the operating system, distribution and CPU architecture of the machine that will run the renderer. The downloads page lists builds or installers for Windows, macOS, Debian, Ubuntu, AlmaLinux, CentOS, Amazon Linux, openSUSE and Arch, but availability varies by distribution and architecture. The page identifies 0.12.6 as the stable series and dates that release June 11, 2020; treat that matrix as historical documentation and verify that the listed package still fits your current system.
2. Download the matching build
Open wkhtmltopdf.org/downloads and select the package or installer for your exact platform. Do not assume that a package built for one Linux distribution will work on another. Download from the project’s distribution rather than a random binary mirror.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →3. Install with your platform’s normal mechanism
Use the installer on Windows or macOS, or your distribution’s package mechanism where the project provides a package. The exact filename and architecture depend on the release and operating system, so follow the current instructions shown for your selected build. If you install an archive manually, place the executable in a directory already on PATH, or keep its absolute path for your wrapper configuration.
4. Account for runtime libraries and fonts
Static builds are not completely independent of the host. The project notes dependencies and runtime configuration including fontconfig and freetype. A minimal container may therefore start failing after the binary appears to be installed because libraries or fonts are absent.
Alpine Linux needs particular care: it uses musl rather than glibc, and the project says generic builds do not work reliably there. Prefer a build intended for your Alpine setup or use a compatible base image instead of copying a generic Linux binary and assuming it will run.
Rank #2
- 1.1 GHz (boost up to 2.4GHz) Intel Celeron N5030 Quad-Core
- 4GB DDR4 System Memory; 128GB Solid State Drive
- 11.6" HD (1366 x 768) Multi-Touch Display
- Combo headphone/microphone jack - Noble Wedge Lock slot - HDMI; 2 USB 3.1 Gen 1
- Windows 11 Pro
Verify that wkhtmltoimage is available
Open a new shell after installation so that any PATH change is loaded. Check that the command resolves, then ask it for help or its version:
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →wkhtmltoimage --version
wkhtmltoimage --help
On systems where the command is not on PATH, run the same checks with the full path, for example:
/opt/wkhtmltox/bin/wkhtmltoimage --version
A “command not found” or equivalent message means the shell cannot locate the binary; it does not mean pip failed. Fix PATH or configure the absolute executable path in your Python wrapper.
Install IMGKit in an isolated Python environment
Python’s packaging guide recommends invoking pip through the interpreter you intend to use. A virtual environment avoids installing the wrapper into a different Python installation:
- Create a virtual environment in your project directory:
python -m venv .venv
- Activate it. On Windows PowerShell:
.venvScriptsActivate.ps1
- On macOS or Linux:
source .venv/bin/activate
- Install the wrapper with the active interpreter:
python -m pip install imgkit
The general pip guidance is available at Python Packaging User Guide — Installing Packages. Confirm that the wrapper and your application use the same interpreter:
Recommended Free Tools
python -c "import sys, imgkit; print(sys.executable); print(imgkit.__file__)"
If that command imports successfully but a render reports that wkhtmltoimage cannot be found, the Python package is installed while the external executable is missing, outside PATH or not configured with its absolute location.
Run a minimal end-to-end render
Testing a tiny local document separates installation problems from application code. Create sample.html:
Rank #3
- 256 GB SSD of storage.
- Multitasking is easy with 16GB of RAM
- Equipped with a blazing fast Core i5 2.00 GHz processor.
<!doctype html>
<html>
<meta charset="utf-8">
<title>wkhtmltoimage test</title>
<body><h1>Render OK</h1></body>
</html>
Render it directly:
wkhtmltoimage sample.html sample.png
Then open sample.png. A successful result confirms that the executable can start, read local HTML and write an image. If you installed it outside PATH, substitute the absolute executable path.
With IMGKit, a basic Python call looks like this:
import imgkit
imgkit.from_file("sample.html", "sample-from-python.png")
If IMGKit cannot locate the binary, pass its location through the configuration mechanism documented by IMGKit. Keep the path explicit in a service, container or scheduled job rather than relying on an interactive shell’s profile files.
Common failures and fixes
“No matching distribution” or pip cannot find wkhtmltoimage
Cause: you asked pip for the standalone executable, which is not the normal distribution model.
Fix: install the binary from the project’s platform downloads, then use python -m pip install imgkit only if you need Python integration.
“wkhtmltoimage: command not found”
Cause: the binary is not installed, or its directory is not on PATH.
Fix: locate the installed file, add its directory to the service’s PATH, or configure IMGKit with the absolute path. Restart the shell or service after changing environment variables.
IMGKit imports but rendering fails
Cause: IMGKit is installed in one interpreter while the executable is absent or inaccessible to the process running your code.
Rank #4
- EFFORTLESS EVERYDAY PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 Home system, delivering reliable, low-power efficiency for daily tasks like document editing, email, online classes, and web browsing
- 15.6-INCH FULL HD DISPLAY: Enjoy immersive visuals on the 15.6" FHD (1920x1080) anti-glare screen with micro-edge bezels. Delivers clear details and comfortable viewing for long study sessions, working on spreadsheets, and video playback
- RESPONSIVE MULTITASKING & STORAGE: Built with 4GB LPDDR4 RAM and 128GB eMMC storage for smooth daily essential use. Expand your storage by up to 1TB via the integrated TF card slot to easily store movies, photos, and working files
- ADVANCED CONNECTIVITY: Outfitted with 2x Full-Featured Type-C ports for data transfer, fast charging, and dual-monitor output, alongside 2x USB 3.2 Gen1 ports and a 3.5mm audio jack for complete peripheral compatibility
- LIGHTWEIGHT & SILENT OPERATION: Slim and portable for effortless travel or commuting. Features a 1MP HD webcam for remote meetings, 38Wh battery with 45W Type-C fast charging, and a fanless silent design for peaceful work environments.
Fix: print sys.executable, verify wkhtmltoimage --version as the same user, and configure the binary path explicitly.
Linux starts with missing-library or font errors
Cause: the selected build does not match the distribution, or required system libraries and fonts such as fontconfig and freetype are unavailable.
Fix: choose a distribution- and architecture-specific package, install the runtime dependencies required by that build, and add fonts to the runtime image if the output depends on them.
Free tools Windows power users keep installed
One-click scans. No signup required.
It works on a glibc distribution but not on Alpine
Cause: Alpine uses musl, and the project warns that generic builds do not reliably work there.
Fix: use an Alpine-compatible build or select a base image compatible with the official build you downloaded. Do not treat all Linux binaries as portable.
The output is blank, incomplete or uses unexpected fonts
Cause: the page may depend on resources that are unavailable to the renderer, or the runtime may lack the intended fonts. This is separate from pip installation.
Fix: first render a self-contained local HTML file. If that works, inspect external assets, network access, JavaScript timing and installed fonts in the target environment.
Best Value
- WINDOWS 11 | STABLE PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 system, this laptop delivers stable performance for everyday computing tasks. It supports web browsing, online learning, document editing, email communication, and basic office work with optimized power efficiency, providing a practical and reliable experience for essential daily use for daily use.
- 15.6” FHD IPS DISPLAY: Features a 15.6-inch Full HD IPS display with narrow bezels, offering wider viewing angles and clearer image details compared to standard panels. The improved screen-to-body ratio enhances visual experience for study, reading, document work, and video playback, making it suitable for both productivity and entertainment use.
- 4GB DDR4 + 128GB eMMC STORAGE: Equipped with 4GB DDR4 memory and 128GB eMMC storage for everyday basics such as browsing, documents, email, and online learning platforms. The built-in TF card slot supports storage expansion up to 1TB, giving you more flexibility for files, photos, videos, and daily documents. TF card not included.
- CONNECTIVITY & PORTS: Includes 1× TF card slot, 2× USB 3.2 Gen1 ports, and 2× full-featured Type-C ports (USB 3.2 Gen1). The Type-C ports support data transfer, charging, and video output, enabling flexible connection with external devices such as monitors, storage, and peripherals for daily work and study use.
- LIGHTWEIGHT DESIGN | ONLINE COMMUNICATION: Designed with a slim, portable profile, this laptop is easy to carry for school, commuting, and travel. A built-in 1MP front camera supports online classes, video meetings, remote communication, and everyday conferencing. The 3300mAh battery works with the low-power system design to support practical daily use, while thermal optimization helps maintain quieter operation during extended tasks.
A server becomes exposed after adding rendering
Cause: rendering attacker-controlled HTML or JavaScript can expose the host to serious risk.
Fix: sanitize untrusted HTML and JavaScript, isolate the renderer, restrict outbound access where appropriate, and never assume that a wrapper makes hostile input safe. The project’s warning is explicit: “Do not use wkhtmltopdf with any untrusted HTML – be sure to sanitize any user-supplied HTML/JS, otherwise it can lead to complete takeover of the server it is running on!”
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Production checklist
- Pin the Python wrapper version in your project’s dependency file and record the separately installed binary version.
- Build and test on the same operating-system family, architecture and container base used in production.
- Make the executable path deterministic for services, workers and cron jobs; interactive shell configuration may not be loaded.
- Install and verify the fonts and runtime libraries needed by your documents.
- Render a local fixture during deployment or health checks before accepting live jobs.
- Set resource and time limits around jobs, and isolate the process when handling content from users or external systems.
- Keep a known-good package artifact or image so a distribution update does not silently replace the renderer with an incompatible build.
Or skip the browser setup
If your goal is simply to capture a web page as an image or PDF, ScreenshotNeo provides a website screenshot API instead of requiring you to install and maintain a browser-rendering binary. One GET request returns a PNG, JPEG, WebP or PDF. For API details, see the ScreenshotNeo documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
The same request in 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)
And in 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 accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and whether the request was billed. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchFAQ
Can I install wkhtmltoimage with only pip?
No. Pip installs Python packages such as IMGKit; the wkhtmltoimage executable comes from the wkhtmltopdf project’s operating-system downloads.
Do I need IMGKit to use wkhtmltoimage?
No. IMGKit is optional. Use the binary directly from a shell or another application when you do not need a Python API.
Is version 0.12.6 a current guarantee for every platform?
No. The official downloads page identifies 0.12.6 as its stable series and dates it June 11, 2020. Check the page and your distribution before deploying because package availability and compatibility can change.
Frequently Asked Questions
Can I install wkhtmltoimage with only pip?
No. Pip installs Python packages such as IMGKit; the wkhtmltoimage executable comes from the wkhtmltopdf project’s operating-system downloads.
Do I need IMGKit to use wkhtmltoimage?
No. IMGKit is optional. Use the binary directly from a shell or another application when you do not need a Python API.
Is version 0.12.6 a current guarantee for every platform?
No. The official downloads page identifies 0.12.6 as its stable series and dates it June 11, 2020. Check the page and your distribution before deploying because package availability and compatibility can change.
The Bottom Line
Install the platform-specific wkhtmltoimage binary first; install IMGKit with python -m pip install imgkit only for Python integration. Verify the executable, libraries and fonts in the exact environment that will render your files, and sanitize any untrusted HTML or JavaScript.
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.

