For a larger raster capture with wkhtmltoimage, set the render screen dimensions with --width and --height; use --zoom only when you want to scale the page content. These controls affect rendering differently, and a larger saved image is not automatically a native high-DPI capture. Smart shrinking can also change the relationship between page layout and output pixels, so check the result from the version of wkhtmltoimage installed on your system.
What “high DPI” means for a wkhtmltoimage capture
For a screenshot, the most direct measure of resolution is the saved image’s pixel dimensions—for example, 1600 pixels wide by 1200 pixels high. “DPI” can also mean a device scale ratio or a print-density value, and those are not interchangeable with pixel dimensions. A file can contain more pixels without preserving the same CSS layout, and a DPI label alone does not add detail to an image.
WebKit distinguishes device scale from page zoom: device scale concerns physical pixels per device-independent pixel without changing the viewport or layout, while page zoom changes the CSS viewport. The exact behavior depends on the WebKit port. Qt documentation provides useful background on logical geometry and raw image pixels, but Qt 6 concepts do not establish how every legacy wkhtmltoimage build behaves. Treat the CLI options as rendering controls to verify, not as a guaranteed device-pixel-ratio setting.
Choose the control that matches the result you want
| Control | What it changes | Use it when |
|---|---|---|
--width |
Requested screen width for rendering. The command reference describes width as a guideline unless strict width behavior is enabled. | You need to establish the layout viewport or target screen width. Confirm the option’s behavior in your installed binary. |
--height |
Requested screen height; without it, height is calculated from page content. | You need a particular render height or want to control the initial screen dimensions. |
--zoom |
Scales page rendering. It is not the same as changing device scale. | You intentionally want page content enlarged, and have checked how that changes layout in your build. |
| Smart shrinking | The upstream manual documents it as enabled by default and says it makes the pixel/DPI ratio non-constant. | Check it when the rendered scale or width differs from expectations; disable it only if its shrink-to-fit behavior is causing the problem. |
Do not use PDF renderer settings such as --dpi or --image-dpi as if they were image-output resolution controls. The project documentation places those among PDF options; --image-dpi concerns images embedded in a PDF. The library reference also separates image controls from PDF settings and says PDF resolution most likely has no effect.
Outdated 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 matchWindows 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 reinstall#1 Best Overall
- Improved ComfortView Plus: Reduces harmful blue light emissions to ≤35%, for all-day comfort without sacrificing color accuracy.
- Refresh rate: A smooth, tear-free experience with AMD FreeSync Premium (refresh rate up to 120Hz) and an ultra-low 0.03ms response time create a captivating experience for work and play.
- Vivid colors: Immerse yourself in breathtaking 4K visuals with in-plane switching technology. Enjoy vibrant colors with 99% sRGB. The 1500:1 contrast ratio and HDR readiness deliver excellent depth and detail.
- Re-engineered sound quality: Enjoy more detailed sound with spacious audio featuring greater output power, deeper frequency response and more decibel range than the previous generation.
- Ultra-thin bezel: Designed with a sleek, modern aesthetic and an ash white finish, this display features ultra-thin bezels for a refined, minimalist design.
Render a larger image from the command line
Start by deciding the CSS layout width you need. Set --width to that target screen width, then choose a height that covers the screen area you want. Add --zoom only if enlarging the page content is part of the goal. Substitute your page URL and output filename in this example:
wkhtmltoimage --width 1280 --height 1800 https://example.com page.png
This requests a 1280-by-1800 screen for rendering; it does not promise that every build will produce a PNG with exactly those pixel dimensions or an unchanged CSS layout. Width is documented as a guideline unless strict width behavior is enabled. Height otherwise follows page content, so specifying it can change how much of a page is in the rendered screen. Inspect the resulting file rather than inferring its dimensions from the arguments.
Rank #2
- 4K UHD with 1000:1 Contrast Ratio - This UltraFine display with a 1000:1 contrast ratio displays deeper blacks and vivid colors in UHD clarity. With wide viewing angles, it gives creative professionals the ability to view and work with highly-detailed, digital imagery.
- 4K HDR10 DCI-P3 - Explore HDR10 content the way it was meant to be seen with up to 90% DCI-P3 color gamut expression—an elevated color spectrum that brings brilliant color to life.
- Onscreen Control - You can customize the workspace by splitting the display or adjusting basic monitor options with just a few mouse clicks.
- Ergonomic Stand - The ergonomic stand makes it easy to flexibly adjust the tilt of the screen in the optimal position for you.
- What's In The Box - Stand Body, Stand Base, Screws, Power Adapter, HDMI Cable, Quick Start Guide, Registration Card, Warranty.
If you deliberately want a larger rendering scale, test with a zoom value, for example:
wkhtmltoimage --width 1280 --height 1800 --zoom 1.5 https://example.com page-zoomed.png
Zoom is page scaling, not a native device-pixel-ratio switch. Depending on the engine build, it can affect the CSS viewport and therefore wrapping, element positions, and crop. Compare the layout with the unzoomed output before using this approach for a capture that must match a specific CSS viewport.
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 →Rank #3
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
Control crop and layout through the library
If you call the library rather than the CLI, its settings reference exposes image crop coordinates and dimensions in pixels: crop left, top, width, and height. It also lists screenWidth, smartWidth, and load.zoomFactor among relevant settings. Use those settings to express the crop and loading-scale behavior you need, then verify the produced image; do not assume names map identically to flags in every command-line build.
Crop settings are useful when the desired deliverable is a defined region rather than a taller full-page result. Distinguish a crop from a layout change: cropping removes area from the output, while changing screen width or zoom can affect how the page lays itself out. The library reference documents these setting names, but exact behavior remains dependent on the library and renderer version in use.
Rank #4
- VIVID COLORS ACROSS THE WHOLE SCREEN: Experience stunning colors across the entire display with the IPS panel. Colors remain bright and clear across the screen, even when you change angles.
- SMOOTH PERFORMANCE ACROSS VARIOUS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects.¹ The 120Hz refresh rate reduces lag and motion blur so you don’t miss a thing in fast-paced moments.
- OPTIMIZED GAME SETTINGS FOR EACH GENRE: Gain a competitive edge with optimizable game settings.² Color and image contrast can be instantly adjusted to see scenes more clearly, while Game Picture Mode adjusts any game to fill your screen.
- EASY ON THE EYES: Protect your vision and stay comfortable, even during long sessions.² Stay focused on your work with reduced blue light and screen flicker.
- A MODERN AESTHETIC: Featuring a super slim design with ultra-thin border bezels, this monitor enhances any setup with a sleek, modern look. Enjoy a lightweight and stylish addition to any environment.
Verify the saved image, not just the command
- Check the binary’s switches. Run
wkhtmltoimage --helpand confirm that your installed build exposes the controls you plan to use. Distribution packages and bundled Qt/WebKit versions can differ. - Inspect pixel dimensions. Use your image viewer or image-inspection utility to confirm the actual width and height of the saved file. The requested screen dimensions are not a substitute for checking output.
- Compare representative content at 100% view. Check small text, edges, and any important image or vector detail. More pixels in a file do not by themselves prove that content was rerendered with more source detail.
- Check layout and crop after each change. Compare line wrapping, element positions, and the visible region after changing width, height, zoom, or smart shrinking.
- Keep a known-good command. Change one control at a time so you can identify whether the difference came from the viewport, zoom, or shrinking behavior.
WebKit notes that changes in device scale can lead to rerasterization or bitmap resampling, while page zoom is a separate concept. That distinction is useful when evaluating sharpness: text or vector content may behave differently from bitmap images, and a larger output file alone does not establish which occurred. No single result should be assumed across all wkhtmltoimage binaries.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot unexpected size, scale, or layout
| Symptom | Likely explanation | What to do |
|---|---|---|
| Output width is not the requested width | --width is a guideline unless strict width behavior is enabled, or the installed build handles the option differently. |
Check wkhtmltoimage --help, inspect the output dimensions, and test the strict-width behavior documented by your build. |
| Content is smaller than expected | Smart shrinking may be adjusting the rendered scale. | Compare an output with shrinking enabled against one with it disabled, if your binary supports that option. Disable it only when the comparison shows it is responsible for the unwanted shrink-to-fit result. |
| Text wraps differently after increasing zoom | Page zoom may change the CSS viewport; it is not equivalent to increasing device scale. | Use the target layout width first. Keep zoom only if the changed layout is acceptable. |
| Image height differs from the specified screen height | Without an explicit height, the renderer calculates height from page content; screen dimensions and resulting output can vary with build behavior. | Set --height, then inspect the actual image and crop. |
--dpi or --image-dpi appears ineffective |
Those are PDF-related options, not the documented image-output controls. | Use screen dimensions and, only where appropriate, page zoom; verify the available image switches in the installed help output. |
The upstream documentation and Debian Bookworm manpage are useful references for option intent, but a package may bundle different Qt/WebKit versions. Confirm both option availability and output behavior against the binary that will run in production. Older Qt WebKit documentation describes density concepts and variables such as QTWEBKIT_DEVICE_WIDTH and QTWEBKIT_DEVICE_HEIGHT; that historical API context is not a guarantee that a particular wkhtmltoimage binary honors those variables.
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 →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
- Improved ComfortView Plus: Reduces harmful blue light emissions to ≤35%, for all-day comfort without sacrificing color accuracy.
- Refresh rate: A smooth, tear-free experience with AMD FreeSync Premium (refresh rate up to 120Hz) and an ultra-low 0.03ms response time create a captivating experience for work and play.
- Vivid colors: Immerse yourself in 4K visuals with a VA panel. Enjoy true-to-life colors with 99% sRGB and 95% DCI-P3 coverage. The 1500:1 contrast ratio and HDR readiness deliver excellent depth and detail.
- Re-engineered sound quality: Enjoy more detailed sound with spacious audio featuring greater output power, deeper frequency response and more decibel range than the previous generation.
- Ultra-thin bezel: Designed with a sleek, modern aesthetic and an ash white finish, this display features ultra-thin bezels for a refined, minimalist design.
Performance, repeatability, and cost considerations
Higher requested dimensions mean a larger raster output, so plan for the resulting image file and any downstream storage or transfer. This guide does not establish a speed or memory benchmark for wkhtmltoimage: actual runtime and resource use depend on the page and build, and should be measured in the environment where you run captures. For repeatability, record the installed version and exact command alongside a sample output, especially if the rendering binary may vary between machines.
If the capture must preserve a particular layout, use the intended screen width as the starting point rather than increasing zoom automatically. When the deliverable only needs more output pixels, inspect whether the build’s screen and scale behavior achieves that without unwanted reflow. When the deliverable is a crop, use crop controls rather than treating zoom as a crop substitute.
Or skip the browser setup
If you need a screenshot without configuring a local wkhtmltoimage renderer, ScreenshotNeo is a website screenshot API and MCP server. Its API accepts one GET request with a URL and returns a PNG, JPEG, WebP, or PDF. For the API options and setup, see the ScreenshotNeo documentation.
This cURL example saves a WebP screenshot of the target URL:
Free tools Windows power users keep installed
One-click scans. No signup required.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
The corresponding Python request is:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
And in Node.js with a runtime that provides fetch:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
- Cookie banners and consent overlays are accepted or removed before capture; newsletter popups and chat widgets are also removed. Each of those steps can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Responses identify the page verdict and billing status in headers.
- An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for AI agents and MCP clients. - The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; yearly billing gives two months free. Every feature is on every plan.
Sign up for 1,000 free screenshots a month with no card.
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.

