Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If wkhtmltopdf produces a blank PDF from a JavaScript website, first check whether JavaScript is enabled, look for script and resource errors, and confirm the page’s content is ready before capture. Its --javascript-delay option waits for a fixed time; it does not prove that an application has finished rendering. If the page still fails after you confirm readiness and resource access, the installed Qt WebKit engine may not support what the site needs.

Why a JavaScript website can render as a blank PDF

wkhtmltopdf converts HTML to PDF using Qt WebKit. JavaScript is enabled by default in its documented command-line options, but a website can depend on scripts, browser features, or runtime behavior that the installed WebKit build cannot handle. It can also depend on resources that the machine running the command cannot reach.

A blank PDF alone does not identify which condition occurred. It is a symptom, not a diagnosis. The project describes the tool as a headless renderer using Qt WebKit: wkhtmltopdf project homepage.

Diagnose the failure in order

1. Record the exact environment and command

Capture the output of wkhtmltopdf --version, your operating system and version, the full command, and a small reproducible HTML/JavaScript example if possible. These details help distinguish a site issue from a version- or environment-specific problem; the project asks for version, OS, and a detailed test case when reporting issues: wkhtmltopdf issue tracker.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Epson EcoTank ET-2800 Wireless Color All-in-One Supertank Printer - Black
  • INNOVATIVE CARTRIDGE-FREE PRINTING — No more dealing with lots of tiny ink cartridges; With this wireless document and photo printer each ink bottle set is equivalent to about 90 individual cartridges²
  • LESS FREQUENT INK REPLACEMENT — Replacement ink bottles don't have to be changed nearly as often as ink cartridges¹; When you choose this combination printer, scanner and copier you can print up to 4,500 pages black/7,500 color³
  • COLOR PRINTING — Up to 2 years of ink in the box4 (and with every replacement ink set) for fewer out-of-ink frustrations
  • ZERO CARTRIDGE WASTE — By using an Epson EcoTank printer you can help reduce the amount of cartridge waste ending up in landfills
  • HOME PRINTER DESIGNED FOR RELIABILITY — The Epson EcoTank ET-2800 All-in-One Supertank Color Printer creates vivid, detailed prints and documents thanks to Micro Piezo Heat-Free Technology; Fire off 10 ISO pages per minute1 to easily finish large jobs

2. Check JavaScript settings and stderr

JavaScript is on by default, so check whether your command or wrapper explicitly disables it. Add --debug-javascript and inspect stderr for script errors. The command-line manual documents this option alongside --javascript-delay, --run-script, and --window-status: wkhtmltopdf command-line usage.

3. Confirm the page and its dependencies load on the rendering machine

Verify that the expected content exists in the page’s HTML or DOM, and that the rendering machine can access the page’s scripts, stylesheets, fonts, images, API endpoints, cookies, and redirects. A page that works in your desktop browser may behave differently when rendered in a server or container with different network access, credentials, or browser capabilities.

4. Wait for meaningful readiness—not just an arbitrary interval

The manual says --javascript-delay waits for milliseconds for JavaScript to finish and documents a default of 200 milliseconds. This is a time-based wait, not a signal that an application has completed its own rendering. The library setting describes waiting after page load until printing, or until JavaScript calls window.print(): wkhtmltopdf library page settings.

If content appears after a known delay, try a modestly longer value, for example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

wkhtmltopdf --javascript-delay 1500 https://example.com output.pdf

Rank #2
Sale
Epson EcoTank Photo ET-8550 Wireless Wide-Format All-in-One Tank Printer
  • CARTRIDGE-FREE PRINTING — Print lab-quality photos, graphics and creative projects; Get vibrant colors and sharp text with Epson's high-accuracy printhead and Claria ET Premium 6-color inks
  • INK BOTTLES — Save on photos1 and creative projects with affordable in-house printing; All-in-one printer allows you to print 4" x 6" photos for about 4 cents each vs. 40 cents with traditional ink cartridges1
  • LESS FREQUENT INK REPLACEMENT — Replacement ink bottles don't have to be changed nearly as often as ink cartridges¹; Printer, scanner and copier lets you print up to 6,200 color pages³
  • PRINT FOR LONGER — Up to 2 years of ink in the box² (and with every replacement ink set) for fewer out-of-ink frustrations with this wireless printer
  • ZERO CARTRIDGE WASTE — Epson EcoTank printer helps reduce the amount of cartridge waste ending up in landfills; Cartridge-free printer uses high-yield ink bottles; Each replacement ink bottle set is equivalent to about 100 individual ink cartridges⁴

Replace https://example.com with your page and adjust the delay only after observing when its content becomes available. When you control the page, a stronger approach is to set window.status to a known value after the content is ready, then wait for it:

wkhtmltopdf --window-status ready https://example.com output.pdf

The page must actually set window.status = 'ready' at the right point for this to help. Neither option guarantees that the page will render successfully.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Check compatibility before changing error handling

If waiting does not help, investigate JavaScript compatibility and runtime errors. Do not treat --load-error-handling ignore as a rendering fix: it changes how load failures are handled, but cannot make missing content or unsupported browser features work.

A historical issue documents a report where increasing the delay still resulted in a white page. That example shows why a longer wait is not a universal remedy; it does not establish the cause of another site’s blank output: wkhtmltopdf issue #2051.

Rank #3
HP Smart Tank 5000 Wireless All-in-One Ink Tank Printer, Scanner, Copier with 2 Years of Ink Included, Best-for-Home, Cartridge-Free, Refillable and AI-Enabled. (5D1B6A)
  • SET IT UP ONCE AND PRINT WITH CONFIDENCE. No complicated maintenance. Just easy, reliable printing you can count on.
  • INK FOR YEARS. NOT MONTHS. Up to 2 years of ink included. Get thousands of pages of cartridge-free printing. More pages, less hassle
  • KEEPS PRINTING WELL AFTER COMPETITORS HAVE QUIT. No complex maintenance. Sharper text, richer colors.[2] Only with HP Smart Tank
  • PREMIUM SUPPORT - Strong technical expertise to solve issues faster
  • THE LAST PRINTER YOU'LL EVER NEED. Enjoy years of refillable, cartridge-free printing.

When to keep wkhtmltopdf—and when to change renderers

Keep troubleshooting wkhtmltopdf when the page appears compatible with its engine and the evidence points to content that loads late or to an accessible resource problem. Move to a modern browser renderer when the page relies on browser APIs the installed Qt WebKit build does not support, or when the same reproducible page remains blank after you have confirmed its resources and readiness.

The project’s status account discusses its dependence on WebKit1 and the historical state of that engine. This is useful context for compatibility decisions, not a formal current end-of-life notice: wkhtmltopdf project status.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Playwright when you need a browser-specific readiness check

Playwright can generate PDFs with page.pdf() and wait for a selector or other page-specific condition before capture. Its documentation discourages using networkidle as a general readiness signal; prefer checking for the actual content your application needs to render. PDF generation uses print CSS by default, so test styles, headers and footers, fonts, and page breaks against the intended output: Playwright PDF API and Playwright page waiting API.

For example, this Python outline waits for a page-specific selector before saving the PDF:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto("https://example.com")
    page.locator("main article").wait_for()
    page.pdf(path="output.pdf")
    browser.close()

Rank #4
NDYIN Portable Printers Wireless for Travel, N80 Bluetooth Thermal Printer
  • Wireless Bluetooth Printer: Portable thermal printer compatible with iPhone, Android phones, iPad and tablet computers via Bluetooth. For smartphones, please download the "Nada Print" App. You can also connect to laptops and computers for printing using a USB-C cable. (Note: Laptops and computers can only be connected via USB and require the installation of a driver first. Bluetooth connection is not supported.)
  • No-ink printing: Only supports US Letter and A4 size thermal paper.(Doesn't support regular paper) The no-ink portable thermal printer uses direct thermal technology, requiring no ink, toner or ribbons, making it environmentally friendly, cost-effective and time-saving. The thermal printer package comes with a roll of US Letter thermal printing paper. Note: When installing the paper, remember to switch the paper size switch on APP
  • Clear Print: NDYIN N80 portable thermal printer adopts high-definition printing technology, with a 203DPI resolution to provide you with clear printing results. This mobile printer is compatible with roll paper, folded paper and tattoo transfer paper, supporting printing from your mobile phone PDF, Word, pictures and web pages anytime and anywhere. It is recommended to use our NDYIN thermal paper to achieve good printing quality
  • Portable wireless printer for travel: The thermal printer is equipped with a built-in 1500mAh rechargeable battery, which can print 160 sheets of 8.5" x 11" thermal paper after being fully charged. It weighs only 1.5 pounds and is compact in size. This ink-free portable printer can be easily carried in a backpack or briefcase! It is perfect for business travel, cars, small offices, construction sites, schools and homes. You can print documents, contracts, invoices and boarding passes anytime and anywhere
  • The N80 thermal printer has a wide range of uses. The package includes the N80 printer, a roll of US Letter paper(7m/roll), a user manual, a guide card, a type-C soft cable and a type C adapter. Note: The charging adapter is not included. Special thermal paper is required for use; ordinary paper cannot be used. This ink-free portable thermal printer is suitable for various scenarios such as home, school, travel, office, and outdoor, meeting the printing needs of different groups of people. This tattoo template printer is also compatible with tattoo transfer paper, making it an ideal choice for tattoo art

Replace the example URL and selector with the page and element that indicate your application is ready. This is a migration option, not evidence that every blank wkhtmltopdf page requires Chromium.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common errors and practical fixes

Symptom What to check Next step
Blank output with JavaScript errors in stderr Whether the command disables scripts, and which scripts fail under the installed Qt WebKit build Correct script or environment errors; if required browser features are unsupported, try a modern browser renderer.
Content appears only after the PDF is captured When the page’s meaningful content becomes available Test a modestly longer --javascript-delay, or use --window-status with a readiness value your page sets.
Images, fonts, styles, or data are missing Whether the rendering machine can reach each resource and API, and whether authentication, cookies, or redirects are required Make dependencies accessible to the renderer and verify that the page has loaded them before capture.
Longer delays do not change the blank result Compatibility errors, failed resources, and whether the expected DOM content ever appears Stop increasing the wait blindly; isolate the failure and consider a modern browser renderer if the page requires unsupported features.
Ignoring load errors still yields an empty PDF Whether the underlying page or a required resource failed to load Fix the failure rather than suppressing its handling; ignoring it does not supply missing content.

Or skip the browser setup

If you need a screenshot or PDF without maintaining a local browser-rendering setup, ScreenshotNeo provides a website screenshot API and MCP server. For a PDF, its API accepts a URL and can return PDF output; see the ScreenshotNeo API documentation for request options.

Here is the one-call cURL example for a screenshot (replace the sample target URL and API key):

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

  • Cookie or consent banners are accepted and removed before capture, along with known 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. Responses include X-Page-Verdict and X-Billed headers.
  • An MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf.
  • The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Does wkhtmltopdf run JavaScript by default?

Yes. JavaScript is enabled by default in the documented command-line options, unless your invocation or wrapper disables it.

Does a blank PDF prove that wkhtmltopdf is discontinued?

No. A blank result does not establish that, and the project status account is historical context rather than a formal current end-of-life notice.

Quick Recap

Bestseller No. 3
HP Smart Tank 5000 Wireless All-in-One Ink Tank Printer, Scanner, Copier with 2 Years of Ink Included, Best-for-Home, Cartridge-Free, Refillable and AI-Enabled. (5D1B6A)
HP Smart Tank 5000 Wireless All-in-One Ink Tank Printer, Scanner, Copier with 2 Years of Ink Included, Best-for-Home, Cartridge-Free, Refillable and AI-Enabled. (5D1B6A)
PREMIUM SUPPORT - Strong technical expertise to solve issues faster; THE LAST PRINTER YOU'LL EVER NEED. Enjoy years of refillable, cartridge-free printing.
$194.03

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.