How to Install wkhtmltoimage on Windows 11
Install the official wkhtmltoimage Windows build, verify the command, fix PATH issues, and decide whether this legacy Qt WebKit tool fits your workload.
wkhtmltoimage is included with the wkhtmltox Windows package. On a typical 64-bit Windows 11 PC, download the official 64-bit installer from the wkhtmltopdf downloads page, install it, then verify the executable with wkhtmltoimage --version. The project lists the installer for Vista or later, but does not state that Windows 11 was specifically tested. The stable series is 0.12.6, released June 11, 2020, so treat it as legacy software rather than a current browser engine.
1. Choose the official Windows download
- Open the official downloads page. Downloads are hosted through GitHub releases.
- For a typical x64 Windows 11 computer, choose the 64-bit Windows installer. The linked installer is named
wkhtmltox-0.12.6-1.msvc2015-win64.exe. - If you specifically need the 32-bit build, select the 32-bit Windows installer instead. The page also offers a 7z archive in both architectures; use that when you need to extract the binaries manually rather than run an installer.
The stated support floor for the Windows installer is Vista or later. That published range encompasses Windows 11, but the reviewed project page does not claim a Windows 11-specific test. Avoid third-party download sites so you obtain the project’s published package.
2. Install wkhtmltoimage
- Run the downloaded
.exe. If Windows asks whether to allow the installer to make changes, review the publisher information and continue only if the file is the one you downloaded from the official project release. - Proceed through the installer dialogs using the destination that suits your environment. The official source confirms the installer is available; it does not provide a Windows 11-specific click-by-click walkthrough.
- Note the installation directory. If the command is not discoverable from a terminal, you will need the location of
wkhtmltoimage.exe, often inside abinsubfolder.
3. Verify the executable
Open a new Command Prompt or PowerShell window and run:
wkhtmltoimage --version
A successful invocation prints a version string. Then inspect the options supported by the installed build:
wkhtmltoimage --help
The project documentation describes its command documentation as corresponding to help available from the command-line utility. For a local install, the executable’s own help output is the practical reference for its flags.
If Windows says the command is not recognized
The installer may not have added the executable’s directory to PATH. The reviewed project sources do not establish that PATH is configured automatically.
- Find
wkhtmltoimage.exeunder the installation directory. Search in File Explorer or use a known install path. - Try invoking it by full path. In PowerShell, quote the path and use the call operator:
& "C:\Program Files\wkhtmltopdf\bin\wkhtmltoimage.exe" --version
Adjust the path to match the folder you noted during installation. In Command Prompt, a quoted full path can be run directly:
"C:\Program Files\wkhtmltopdf\bin\wkhtmltoimage.exe" --version
- To make the short command work, add the directory containing the executable—not the executable file itself—to your user PATH. Open the Windows environment-variable editor, edit the user
Path, add the folder, save, and open a fresh terminal. - Retry
wkhtmltoimage --version. Existing terminal windows do not automatically receive PATH changes.
4. Make a first screenshot
Once the command is available, give it a source URL and an output filename. For example:
wkhtmltoimage https://example.com example.png
Use a URL your machine can access. For local HTML, pass a file URL or local path according to the installed build’s help output. Quote paths containing spaces, and use an absolute output path if you want to remove ambiguity about where the image is saved:
wkhtmltoimage "https://example.com" "C:\Users\Public\example.png"
For a page that needs special sizing, JavaScript delay, crop settings, or another output format, consult wkhtmltoimage --help for the options available in your exact build. The command-line help is authoritative for option spellings; do not assume flags from another version or wrapper are identical.
5. What wkhtmltoimage is suitable for
The utility renders HTML into image formats using Qt WebKit. The project says its tools run headlessly and do not require a display service. That makes it possible to invoke from command-line workflows, but it does not make the rendering engine modern.
The stable release is 0.12.6 from June 2020. The source repository was archived in January 2023 and the packaging repository in August 2023. The project status page says Qt 4 has not been supported since 2015 and its WebKit has not been updated since 2012. A successful installation therefore answers only whether the binary launches; it does not answer whether the engine matches a current browser or receives ongoing maintenance.
| Need | Consideration |
|---|---|
| Reproduce a legacy workflow | Install the matching official build and compare its output with the workflow’s expected images. |
| Capture pages driven by modern JavaScript | The project suggests considering Puppeteer for dynamic pages. |
| Generate reports from controlled HTML | The project suggests considering WeasyPrint or the commercial tool Prince. Investigate their fit for your requirements; the names are not a guarantee of suitability. |
| Process user-provided HTML or scripts on a server | Do not feed untrusted, unsanitized input to wkhtmltoimage. The project warns that this can lead to complete takeover of the server running the tool. |
See the project’s status and recommendations for the context behind its maintenance warnings. Its downloads page explicitly cautions: “Do not use wkhtmltopdf with any untrusted HTML.”
Or skip the browser setup
If your task is to capture a public website rather than install this legacy binary, ScreenshotNeo provides a website screenshot API and MCP server. Its API accepts one GET request and returns an image or PDF. See the ScreenshotNeo API documentation for request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Cookie banners are accepted and removed before capture, along with known newsletter popups and chat widgets; each cleanup step can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing status. An MCP server offers take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Create a free ScreenshotNeo account to start with 1,000 screenshots per month and no card.
Troubleshooting
| Symptom | Likely cause | What to do |
|---|---|---|
wkhtmltoimage is not recognized |
The executable folder is absent from PATH, or the terminal predates a PATH change. | Locate the executable, run it by full path, add its containing directory to user PATH if desired, then open a new terminal. |
| Full-path invocation also fails | The path differs from the example, or the package was extracted to another folder. | Find the actual wkhtmltoimage.exe and quote its full path, especially when folder names contain spaces. |
| The command runs but the output is missing | The output filename may be relative to an unexpected working directory, or the destination folder may not be writable. | Specify an absolute output path in a writable folder and inspect the command’s exit message. |
| The image is blank or incomplete | The target may not have loaded successfully, may rely on dynamic scripts, or may use browser behavior unsupported by the old Qt WebKit engine. | Check the URL from the same machine, inspect the installed help for wait-related options, and consider a modern browser automation approach for dynamic pages. |
| The capture looks different from a current browser | The bundled WebKit is old and has not been updated since 2012 according to project status. | Determine whether legacy rendering is acceptable. For current JavaScript-driven pages, evaluate the project’s suggested Puppeteer alternative. |
| Security review flags user-controlled HTML | Untrusted HTML or JavaScript can expose the machine running the renderer to severe risk. | Do not pass unsanitized input to this tool on a server. Follow the project warning and use an approach designed for the trust boundary in your application. |
Performance, reliability, and cost considerations
- Performance: the supplied project sources provide no Windows 11 performance benchmarks. Rendering time depends on the page and workload; measure representative pages in your own controlled environment rather than assuming a throughput figure.
- Reliability: a command that prints its version proves it can start, not that every site will render correctly. Keep a known sample page and compare outputs when changing environments or inputs.
- Maintenance: the stable release date and archived repositories make support expectations an important selection criterion, especially for production workflows.
- Cost: the project download is available from its official release page; the reviewed sources state no license or support cost details for this installation. Budget operational effort for maintaining an older renderer and validating its output.
- Security: never treat installation on a desktop as a reason to process attacker-controlled pages on a server. The project’s untrusted HTML warning applies to the renderer’s execution environment.
FAQ
Does the installer officially support Windows 11?
The downloads page says the installer is for Vista or later, which includes the Windows 11 version range in its stated floor. The reviewed source does not say Windows 11 was specifically tested.
Should I choose 32-bit or 64-bit?
Use the 64-bit installer on a typical x64 Windows 11 PC. Choose 32-bit only when your environment specifically requires it.
Is wkhtmltoimage still actively maintained?
The stable series is 0.12.6 from 2020, and the project’s source and packaging repositories were archived in 2023. Its status page also describes the Qt/WebKit components as old.
Can I use it for user-submitted HTML?
Do not use it with untrusted HTML or unsanitized scripts on a server. The project warns that doing so can allow takeover of the server running it.


