nokap
Capture screenshots and PDFs from web pages using headless Chrome via CDP.
Decision gist · record as of 2026-08-14
Yes, if you need simple web-to-image or web-to-PDF capture and already have Chrome or Chromium installed. The low dependency footprint, active maintenance, and permissive MIT license make it a practical choice over heavier frameworks. No known vulnerabilities. Install it if you want straightforward screenshot and PDF generation without Selenium or Playwright overhead; skip it if you need advanced browser automation or don't have Chrome available.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Chrome or Chromium must be installed on the system; nokap will locate it automatically.
- Low friction: pure Python wheel with only two runtime dependencies (websockets and click).
- Active maintenance as of June 2026.
License · maintenance · safety
permissive license (permissive) — MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2026-06-08 (67 days) · last repo commit 2026-06-09 · 5 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 516,706 downloads/mo, #6,232 on PyPI
Alternatives
Verify before relying
pip install nokap
import nokap
nokap.webshot("https://example.com", "example.png")
nokap.from_html("Hello, world!", "hello.png")- Whether Chrome binary discovery works reliably across different system configurations and installation methods
- Performance characteristics when capturing many pages or large documents in sequence
- Stability and resource usage of the persistent Chrome process across long-running applications
What it is and what it does
nokap is a lightweight Python library for capturing screenshots and PDFs from web pages or HTML strings using headless Chrome. It communicates directly with Chrome via the Chrome DevTools Protocol over WebSockets, eliminating the need for browser driver binaries or heavyweight automation frameworks. The library launches and manages a headless Chrome process, connects via CDP, and uses Chrome's native capture methods to render pages to PNG, JPEG, WebP, or PDF formats.
The package is designed for developers who need straightforward web-to-image or web-to-PDF conversion without the complexity of larger automation tools. It supports CSS selectors to capture specific elements, viewport control for responsive layouts, zoom scaling for retina-quality output, and rendering of HTML strings directly. Chrome or Chromium must be installed separately on the system; nokap will locate it automatically. The library is typed, actively maintained, and supports Python 3.10 through 3.13.
Use it for
- Generate thumbnails or previews of web pages for display in dashboards or content management systems
- Export HTML reports or tables rendered by libraries directly to PDF or image files
- Capture specific page elements using CSS selectors for automated documentation generation
- Convert dynamically generated HTML from templates or data to static images without a full browser
- Create retina-quality screenshots for design mockups or testing responsive layouts at different scales
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need simple web-to-image or web-to-PDF capture and already have Chrome or Chromium installed.
The low dependency footprint, active maintenance, and permissive MIT license make it a practical choice over heavier frameworks. No known vulnerabilities. Install it if you want straightforward screenshot and PDF generation without Selenium or Playwright overhead; skip it if you need advanced browser automation or don't have Chrome available.
Install
nokap on PyPI
Before you install
Low friction: pure Python wheel with only two runtime dependencies (websockets and click). Active maintenance as of June 2026. Requires Chrome or Chromium to be installed on the system separately.
Chrome or Chromium must be installed on the system; nokap will locate it automatically.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install nokap
import nokap
nokap.webshot("https://example.com", "example.png")
nokap.from_html("Hello, world!", "hello.png")
Verify before relying
- Whether Chrome binary discovery works reliably across different system configurations and installation methods
- Performance characteristics when capturing many pages or large documents in sequence
- Stability and resource usage of the persistent Chrome process across long-running applications
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packageswebsocketsclick |
| Maintenance | Actively maintained 67 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 516,706 / month, #6,232 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Multimedia :: Graphics :: Capture :: Screen CaptureTyping :: Typed |
Evidence: nokap-0.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “screenshot web pages headless chrome”
- nokapnokap captures screenshots and PDFs from web pages or HTML strings…
- pyppeteerAutomates headless Chrome/Chromium browser control from Python,…
- html2imageGenerates PNG/image files from HTML, CSS, and URLs by wrapping…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also html2image · screenshotone · Selenium-Screenshot · shot-scraper · mycdp · pyppeteer · pychrome · zendriver · choreographer · mkdocs-with-pdf