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 →Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
If nbconvert reports that Pyppeteer is missing during a WebPDF conversion, first identify the nbconvert version and Python interpreter that is actually running the export. Current nbconvert WebPDF uses Playwright and Chromium, not Pyppeteer. In that same environment, install the WebPDF extra:
python -m pip install 'nbconvert[webpdf]'
Then make sure a compatible Chromium browser is available. If your policy permits nbconvert to download it, retry with --allow-chromium-download; otherwise install Chromium through your approved Playwright or system-package process. The message often comes from a mismatch between old documentation and a newer installation, or from installing dependencies into a different environment than the one performing the conversion.
What the error means today
WebPDF conversion has two separate runtime requirements:
- The Python automation library that nbconvert imports.
- A Chromium browser executable that the automation library can launch.
For current nbconvert releases, the automation library is Playwright. The project’s current usage documentation says that the WebPDF exporter requires the Playwright Chromium automation library and can be installed with the webpdf extra. Older nbconvert documentation names Pyppeteer instead. Therefore, blindly installing Pyppeteer may repair an old release but is not the normal fix for a current one.
#1 Best Overall
- 1 ream (500 sheets) of 8.5 x 11 white copier and printer paper for home or office use
- Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
- Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
- Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
- Virgin copy paper providing professional quality results; acid-free to prevent yellowing
A successful pip installation also does not prove that Chromium is installed. Treat the Python package and browser binary as separate checks.
Diagnose the environment before changing it
1. Confirm the executable and nbconvert version
Run the conversion through the interpreter you intend to use:
python -m nbconvert --version
python -c "import sys; print(sys.executable)"
python -c "import nbconvert; print(nbconvert.__version__)"
Using python -m nbconvert avoids a common PATH problem: the nbconvert command may point to a different installation than the python command that receives your package install.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
2. Check the environment used by the service
Notebook servers, JupyterHub, CI jobs, containers and IDEs can run a kernel or service from a different environment than your interactive shell. Compare the interpreter printed above with the interpreter used by the conversion job. Install the extra in the environment that executes nbconvert, not merely in the environment selected by a notebook kernel.
3. Check whether Playwright imports
python -c "import playwright; print(playwright.__file__)"
If this import fails, the WebPDF extra was not installed in this interpreter, or the installation was interrupted. If it succeeds but conversion reports that no suitable Chromium executable exists, the remaining problem is browser installation or access.
Install the current WebPDF dependencies
Install the nbconvert extra
python -m pip install --upgrade 'nbconvert[webpdf]'
Quoting the extra is useful in shells that interpret square brackets. You can omit --upgrade if you must stay on a pinned nbconvert version; in that case, install the extra for that exact version instead of allowing an unintended upgrade.
Install Chromium with Playwright
The Python package and browser files are separate. After installing the extra, install Chromium using the Playwright installer available in your environment:
python -m playwright install chromium
On a managed host, this command may be prohibited or may require an administrator to place the browser in an approved cache. Follow that host’s package and artifact policy rather than copying an arbitrary browser binary.
Rank #2
- HP Papers is sourced from renewable forest resources and has achieved production with 0% deforestation in North America. Each ream is wrapped in a polyurethane coated paper wrapper to protect the cut sheets from moisture damage
- Sheet size – 8.5 x 11; Thickness – 20 pounds; Brightness – 92 bright white
- HP Copy&Print20 20 pounds printer paper is Forest Stewardship Council (FSC) certified and contributes toward satisfying credit MR1 under LEED (Leadership in Energy and Environmental Design)
- All HP Papers provide premium performance on HP equipment, as well as on all other printer and copier equipment; 100% satisfaction guaranteed; ColorLok technology provides more vivid colors, bolder blacks and faster drying
- Superior quality, reliability, and dependability for high-volume printing at home, at school and in the office; HP Copy&Print20 print and copy paper prevents yellowing over time to ensure a long-lasting appearance for added archival quality
Allow nbconvert’s documented download path
If outbound downloads are allowed during conversion, nbconvert provides an opt-in download path:
python -m nbconvert --to webpdf NOTEBOOK.ipynb --allow-chromium-download
The option is intentionally explicit. Without it, a missing browser is not silently downloaded. In CI, decide whether downloading at job time is acceptable; many teams instead install the browser while building the image and keep the conversion job network-isolated.
Run a complete WebPDF conversion
Once the extra and browser are available, use the same interpreter for the export:
Free tools Windows power users keep installed
One-click scans. No signup required.
python -m nbconvert --to webpdf NOTEBOOK.ipynb --output rendered.pdf
If the browser is not preinstalled and policy allows a download, use:
python -m nbconvert --to webpdf NOTEBOOK.ipynb --output rendered.pdf --allow-chromium-download
Replace NOTEBOOK.ipynb with a path or filename visible to that process. A successful run writes the PDF at the requested output location. If your notebook has custom HTML, CSS or JavaScript output, WebPDF renders that HTML in headless Chromium, so its appearance follows the browser rendering path rather than TeX layout.
Why an old Pyppeteer fix can be wrong
Dependency guidance changed across nbconvert generations. Legacy documentation describes WebPDF as requiring Pyppeteer and recommends the same-looking nbconvert[webpdf] extra. The project changelog records the move to Playwright, and current project metadata declares Playwright for the WebPDF entry point.
That creates two opposite mistakes:
- On a current release, installing Pyppeteer adds an obsolete dependency while Playwright and Chromium remain unavailable.
- On an older, pinned release, following only current Playwright instructions may not match the exporter that is installed.
Always inspect the installed version first. Do not mix a legacy exporter with packages copied from current documentation unless you have deliberately pinned and tested that combination.
WebPDF versus the other nbconvert PDF path
| Exporter | Rendering route | Main dependencies | Use it when |
|---|---|---|---|
--to webpdf |
Notebook output is rendered as HTML and exported through headless Chromium. | Playwright and a Chromium browser; HTML templates and browser behavior are supported. | You need browser-like HTML rendering, CSS or JavaScript output in the PDF. |
--to pdf |
Notebook is converted through LaTeX. | TeX, including a suitable XeLaTeX setup identified by the installation guidance. | Your environment already has TeX and you prefer a typesetting pipeline. |
--to html |
An HTML document is produced without making a PDF. | The normal nbconvert HTML dependencies; no PDF engine is required. | HTML is sufficient or a separate, controlled PDF service will process it later. |
Neither PDF route is universally better. Compare what your host can install, whether downloads are permitted, and whether your notebook depends on browser-rendered HTML. The official installation guidance establishes the dependency differences but does not establish a universal speed or visual-quality winner.
Rank #3
- 3 ream case (1,500 sheets) of 8.5 x 11 white copier and printer paper for home or office use
- Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
- Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
- Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
- Virgin copy paper providing professional quality results; acid-free to prevent yellowing
Troubleshooting common failures
“Pyppeteer is missing to support Web PDF conversion”
Likely cause: You are reading a legacy message or using an older nbconvert release.
Fix: Print python -m nbconvert --version. For a current release, install python -m pip install 'nbconvert[webpdf]', verify the Playwright import, and install Chromium. For a deliberately pinned legacy release, follow that release’s documentation and avoid upgrading only one part of the stack.
“No suitable chromium executable found on the system”
Likely cause: Playwright is installed but its browser binary is not present in the environment that launches nbconvert.
Fix: Run python -m playwright install chromium with the same interpreter, or run the conversion with --allow-chromium-download where downloads are permitted. A conda issue report describes this exact pattern and a successful download-enabled recovery; it is an example, not a guarantee for every host.
The install succeeded, but the conversion still cannot import Playwright
Likely cause: pip installed into a different interpreter, virtual environment or container layer.
Fix: Use python -m pip rather than a bare pip, print sys.executable, and repeat the import test from the conversion process. In a container, install the extra in the image that actually runs the command, not only on the host.
Chromium download fails in CI or a managed notebook service
Likely cause: Egress, proxy, certificate, filesystem or security policy blocks the download.
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 reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFix: Install Chromium during image creation or through the platform’s approved package mechanism, then run conversion without the download flag. Ensure the runtime user can read the browser cache. If the platform cannot provide a browser, use the LaTeX exporter or produce HTML and send it through an approved downstream PDF process.
Rank #4
- 5 ream case (2,500 sheets) of 8.5 x 11 white copier and printer paper for home or office use
- Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
- Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
- Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
- Virgin copy paper providing professional quality results; acid-free to prevent yellowing
The command works in a shell but fails from JupyterHub or an IDE
Likely cause: The service and your shell use different users, virtual environments, PATH values or browser caches.
Fix: Log the interpreter path, nbconvert version, Playwright import location and browser-install location from inside the service job. Install dependencies for that identity, then retry there.
A sandbox workaround is suggested online
Do not disable Chromium’s sandbox as a routine fix. The available evidence does not establish that as a safe general remedy. First correct the interpreter, Playwright package, browser installation and host permissions. If your platform requires a special sandbox configuration, obtain it from the platform administrator and document the security trade-off.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Reliability and deployment practices
Pin and verify the toolchain
Pin nbconvert and its surrounding environment in CI, then install the matching webpdf extra. Verify both the Python package and browser during image creation rather than discovering a missing binary in a production export.
Separate build-time downloads from conversion-time work
Downloading Chromium on every job adds an external dependency and can fail during an outage or policy change. A prebuilt image with the required browser is more predictable when your organization permits that approach. Conversely, the documented download flag is convenient for disposable environments where network access is reliable and approved.
Use a small smoke test
Before converting a large notebook, export a minimal notebook containing one Markdown cell and one output cell. This distinguishes dependency failures from notebook-specific HTML, JavaScript, memory or timeout problems. Then run the real notebook with the same command and identity.
Choose the fallback deliberately
Switching from WebPDF to LaTeX is not a drop-in browser fix: it introduces TeX and XeLaTeX requirements and can change how HTML output, fonts and CSS appear. HTML output avoids both PDF engines but leaves pagination and final PDF generation to another system.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsOr skip the browser setup
If your actual requirement is a clean image or PDF of a publicly reachable rendered webpage—such as a notebook viewer, report page or documentation page—ScreenshotNeo provides an API alternative to maintaining Playwright and Chromium yourself. It accepts a URL and returns PNG, JPEG, WebP or PDF. It removes cookie-consent banners, newsletter popups and chat widgets before capture; bot checks, blank pages, timeouts, failed loads and cache hits are not billed as clean shots, with the result identified by X-Page-Verdict and X-Billed headers. Its MCP server exposes take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients.
For API parameters and the complete option list, see the ScreenshotNeo documentation. A one-call example is:
Best Value
- 8 ream case (4,000 sheets) of 8.5 x 11 white copier and printer paper for home or office use
- Multipurpose letter size copy paper works with laser/inkjet printers, copiers and fax machines
- Smooth 20lb weight paper for consistent ink and toner distribution; dries quickly and resists paper jams
- Bright white paper (92 GE; 104 Euro) offers great contrast for crisp printing and vivid color
- Virgin copy paper providing professional quality results; acid-free to prevent yellowing
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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 supports full-page and element captures, device presets, custom viewport and retina scale, PDF paper and margin controls, custom CSS and JavaScript, waits, request blocking, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, chosen cache TTLs, signed links, asynchronous webhooks, bulk capture of up to 100 URLs per call, a usage API and an OpenAPI specification. The parameter names used by other screenshot APIs also work, which can simplify migration.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; every feature is available on every plan. Create a free ScreenshotNeo account to try it without a card.
Recommended Free Tools
Frequently asked questions
Can I install both Pyppeteer and Playwright?
You can, but doing so usually obscures which exporter and browser path are active. Install the dependency required by the nbconvert version you have chosen and remove unneeded legacy packages from production environments.
Does WebPDF execute notebook code?
No. nbconvert conversion renders the notebook and its stored outputs; execute the notebook separately when fresh computation is required, then export the resulting file.
Will changing from WebPDF to LaTeX preserve the exact layout?
No. The two exporters use different rendering engines, so CSS, fonts, page breaks and interactive HTML output can change.
Frequently Asked Questions
Which command should I try first for a current nbconvert installation?
Run python -m pip install 'nbconvert[webpdf]', then python -m playwright install chromium and retry with python -m nbconvert --to webpdf NOTEBOOK.ipynb.
Why does installing the package not install Chromium automatically?
The Playwright Python package and its browser executable are separate components. Install Chromium explicitly or use nbconvert’s --allow-chromium-download option where policy permits.
What is the simplest fallback if browsers are prohibited?
Use --to pdf only if a TeX/XeLaTeX environment is available; otherwise export with --to html and process that HTML with an approved downstream service.
The Bottom Line
For current nbconvert, replace the Pyppeteer diagnosis with a two-part check: install the webpdf extra in the interpreter running nbconvert, then provide Chromium through Playwright or the documented download flag. If that environment cannot run a browser, choose the TeX-based exporter or HTML output instead.
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.

