Recommended Free Tools
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Download wkhtmltopdf from the official downloads page, then choose an installer or package that matches your operating system, Linux distribution release, and CPU architecture. “Static” does not mean the Linux binary has every runtime library and font built in: the project’s FAQ says system dependencies, including fontconfig and freetype, are still required. The current stable series listed by the project is 0.12.6, released June 11, 2020. [Official downloads] [Official FAQ]
Choose the right download before installing
The official downloads page links to platform-specific packages and installers. Match the asset to the host instead of assuming that one generic Linux binary will work everywhere. Linux downloads are organized by distribution and release; listed families include Debian, Ubuntu, AlmaLinux, CentOS, Amazon Linux, openSUSE, and Arch Linux. Windows has an installer for Vista or later and 7z archives for older systems, while the page lists a 64-bit macOS installer. [Official downloads]
- Windows: choose the installer for the machine’s architecture, or the 7z archive if you prefer to extract a portable copy.
- macOS: choose the 64-bit installer, but check compatibility with the host’s processor architecture. An Intel build is not automatically a native Apple Silicon build.
- Debian or Ubuntu: identify the exact release and architecture, then select the matching .deb.
- RPM-based Linux: use the package for the matching distribution and major release. Do not assume an RPM for another release is compatible.
- Other Linux distributions: use a listed distribution-specific asset when available. The packaging repository’s release page records additional platform-specific builds, including AWS Lambda, Arch Linux, and macOS variants; check the asset name and target carefully. [Packaging releases]
The packaging repository is archived, so its release page and asset labels matter when selecting a build. The official downloads page identifies 0.12.6 as the current stable series; do not mistake a later packaging asset suffix such as 0.12.6.1 for evidence that the main project’s stable-series statement has changed. [Official downloads] [Packaging releases]
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteInstall on Windows
- Open the official downloads page and download the installer matching the machine. Use the 7z archive if you specifically want an extractable package.
- Run the installer with the normal permissions needed to install software on that Windows system.
- Open a new Command Prompt or PowerShell window and check the executable path and version:
where wkhtmltopdfwkhtmltopdf --version - If the command is not found, add the installation directory containing
wkhtmltopdf.exeto PATH, open a fresh terminal, and repeat both checks.
A successful version command confirms that the shell can find and launch the program. If you installed from a 7z archive rather than the installer, make sure PATH points to the directory where you extracted the executable.
#1 Best Overall
Install on macOS
- Download the 64-bit macOS installer from the official downloads page.
- Complete the package installation, then open a new Terminal session.
- Confirm that the command is available and print its version:
command -v wkhtmltopdfwkhtmltopdf --version - If the executable is not found, check where the installer placed it and add that directory to your shell PATH if needed.
On newer macOS releases, verify that the downloaded build works with the host’s processor architecture. The official page’s 64-bit label alone does not establish that an Intel binary is native to Apple Silicon; use an approved compatibility layer where appropriate rather than assuming native compatibility. [Official downloads]
Install on Debian or Ubuntu
- Identify the distribution release and CPU architecture:
cat /etc/os-releasedpkg --print-architecture - From the official downloads page, choose the .deb that corresponds to that release and architecture.
- Install the local package with apt so the package manager can report dependency issues. Replace the example filename with the exact downloaded asset name:
sudo apt install ./wkhtmltox-<version>.<release>_<arch>.deb - If apt reports unresolved dependencies, run:
sudo apt --fix-broken install
Then rerun the installation command if necessary. - Verify the executable and version:
command -v wkhtmltopdfwkhtmltopdf --version
Keep the downloaded package’s actual filename intact when running the command. The version, distribution-release identifier, and architecture in an asset name distinguish builds that should not be treated as interchangeable.
Install on an RPM-based Linux distribution
Choose the RPM for the host’s distribution and release—for example, the matching AlmaLinux, CentOS, or Amazon Linux package shown on the official downloads page. Install it with the distribution’s native package manager so its dependency handling can surface missing requirements, then run command -v wkhtmltopdf and wkhtmltopdf --version to verify the result. [Official downloads]
Rank #2
A package built for a different major release is not a safe substitute just because both systems use RPM. If no exact match is listed, evaluate a compatible container or controlled extraction workflow rather than assuming the package will run correctly.
What “static binary” means—and what it does not
The project explains that the static build links Qt in a static manner, but it still needs other system packages. In particular, fontconfig, freetype, and installed fonts affect whether it can run and how pages render. “Static” therefore does not mean a single universally portable file with every dependency and font included. [Official FAQ]
Generic Linux binaries have historically failed across distributions because library versions and libc implementations differ. Alpine uses musl libc and is specifically unsuitable for the old generic builds. Prefer the package built for your distribution, or run wkhtmltopdf in a container based on a compatible glibc distribution. [Official FAQ]
When extraction is appropriate
The FAQ says a listed package can be extracted if it cannot be installed directly, but extraction does not remove the need for its dependencies. Use it as a controlled deployment fallback, not as proof that the extracted executable is self-contained. [Official FAQ]
Use wkhtmltopdf in Docker, CI, or AWS Lambda
Docker and CI
- Start from a base image compatible with the published package you intend to use.
- Install the matching package and the required runtime libraries, fontconfig, freetype, and fonts needed for your documents.
- Keep the executable, its configuration, libraries, and fonts in the image so builds and jobs use the same environment.
- During the image build or CI setup, run
wkhtmltopdf --versionand fail the build if the executable cannot launch.
Do not base an image on Alpine expecting an old generic Linux build to work: its musl libc differs from the glibc environments those builds target. Prefer a compatible distribution-specific package or a glibc-based container. [Official FAQ]
AWS Lambda and other serverless deployments
Where normal package installation is unavailable, the project FAQ’s deployment approach is to extract a distribution-specific package and bundle the executable with the libraries, configuration, and fonts it needs. The packaging releases include an AWS Lambda archive identified for Amazon Linux 2; inspect its release asset and package it for the runtime you are deploying rather than assuming it suits every serverless environment. [Official FAQ] [Packaging releases]
Rank #4
Protect the server that runs conversions
The project homepage warns: “Do not use wkhtmltopdf with any untrusted HTML.” Treat this as a server-side security boundary, particularly when converting user uploads or remote URLs. Sanitize user-supplied HTML and JavaScript, restrict network access from conversion jobs, and isolate the conversion process. These safeguards reduce the risk that hostile content can abuse the privileges or network access available to the renderer. [wkhtmltopdf project homepage]
Troubleshoot common installation and runtime problems
| Symptom | Likely cause | What to do |
|---|---|---|
wkhtmltopdf is not recognized or not found |
The install directory is not on PATH, or the archive was extracted somewhere else. | Locate the executable, add its directory to PATH, open a new terminal, and check with where wkhtmltopdf on Windows or command -v wkhtmltopdf on macOS/Linux. |
| The package manager reports missing dependencies | The package needs system libraries that are absent, or the package does not match the host release. | On Debian or Ubuntu, run sudo apt --fix-broken install and retry. Otherwise confirm the exact distribution release and architecture, then choose the matching package. |
| The binary extracts but will not launch | Extraction did not install or bundle the required runtime libraries and other dependencies. | Install the requirements for that distribution or bundle the required libraries, configuration, and fonts in a controlled deployment. |
| A generic Linux binary fails on Alpine | Alpine uses musl libc, while the old generic builds are not suitable for that environment. | Use a compatible distribution-specific build or a container based on a compatible glibc distribution. |
| The command runs but document fonts or rendering differ | Fontconfig, freetype, or the installed fonts are missing or differ from the environment where the document was produced. | Install the required font libraries and fonts in the host or container, and keep that environment consistent between deployments. |
| An Intel macOS build does not behave as expected on Apple Silicon | The downloaded 64-bit installer may not be a native build for the machine’s architecture. | Check the asset’s platform details and use an approved compatibility layer if appropriate; do not assume 64-bit means native Apple Silicon support. |
Or skip the browser setup
If your goal is a screenshot rather than a PDF produced by a local wkhtmltopdf installation, ScreenshotNeo provides a website screenshot API and MCP server for developers. One GET request can return a PNG, JPEG, WebP, or PDF. Its capture flow accepts cookie or consent banners like a visitor and removes 60+ known consent platforms, newsletter popups, and chat widgets before capture; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers report the page verdict and billing status. AI agents can use its MCP tools: take_screenshot, get_page_info, and capture_pdf.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →For an image capture, this cURL request saves a WebP screenshot. See the ScreenshotNeo documentation for the API parameters and formats.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo’s free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month with no card.
Best Value
Frequently Asked Questions
Does installing the static build make wkhtmltopdf fully portable between Linux distributions?
No. The project FAQ says system dependencies remain necessary, and libc differences can prevent a generic build from running on another distribution.
Which stable wkhtmltopdf series does the official downloads page identify?
It identifies 0.12.6, released June 11, 2020. The packaging repository separately lists platform-specific release assets.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
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.

