Skip to main content

kindle-pdf-capture

Capture Kindle for Mac pages via screen recording and build a high-quality PDF (with optional OCR).

📚 Languages: English · 日本語

Features

  • Automatic content-region detection (strips window chrome, title bar, and Kindle header)
  • Background capture via Quartz — no need to keep Kindle in the foreground
  • Smart page-turn detection (frame-diff polling, no fixed sleep)
  • LTR and RTL (manga) support via --direction
  • Book-like PDF page sizing (300 DPI default)
  • Optional OCR text layer via Tesseract (for non-macOS viewers; macOS Live Text works without it)
  • End-of-book auto-detection (duplicate-frame streak)
  • Manual cover-region selection via --manual-crop (drag-to-select UI for books with all-white covers)

Quick start

Requires macOS 15 or later, Python 3.11 or 3.12, and Kindle for Mac.

Upgrading from 1.4.x: version 2 requires macOS 15. An existing 1.4.x environment is not modified by this release and may continue to work, but it is outside the current support contract — and installing or rebuilding an environment below macOS 15 is not a supported path on either version. Update macOS before a clean install.

# Install
uv tool install kindle-pdf-capture

# Capture a book (open Kindle to the first page first)
kpc --out output/my-book

# Capture a right-to-left book (manga)
kpc --out output/my-manga --direction left

# Capture a book with an all-white cover (manual region selection)
kpc --out output/my-book --manual-crop

# See all options
kpc --help

With OCR

OCR needs Tesseract and Ghostscript as system dependencies, plus the [ocr] extra:

brew install tesseract tesseract-lang ghostscript
uv tool install "kindle-pdf-capture[ocr]"

kpc --out output/my-book --ocr

Working on the project itself? The installation guide covers installing from source.

Documentation

Support and feedback

  • Q&A — installation, permissions, usage, OCR, and troubleshooting
  • Ideas — proposals that still need discussion
  • Issues — reproducible bugs and scoped work
  • Security policy — private vulnerability reporting

English and Japanese posts are welcome.

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kindle_pdf_capture-2.0.0.tar.gz (171.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kindle_pdf_capture-2.0.0-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

Details for the file kindle_pdf_capture-2.0.0.tar.gz.

File metadata

  • Download URL: kindle_pdf_capture-2.0.0.tar.gz
  • Upload date:
  • Size: 171.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kindle_pdf_capture-2.0.0.tar.gz
Algorithm Hash digest
SHA256 29028c17544d3f5415b44307a18af7e9a7759720a2965a700f81dc5ea658078c
MD5 c4f844058505949efc06855017e60a18
BLAKE2b-256 39e2086facd2a0e4038f88b61291475a8afa77bf3f03c940825c912bea03c4b1

See more details on using hashes here.

File details

Details for the file kindle_pdf_capture-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: kindle_pdf_capture-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 41.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kindle_pdf_capture-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52a4c002c0cfc74ceb0df299450fcb57fabea5325a56ffd0a58a63e1f0854615
MD5 c3932acd8b78a856483487cb0d903f05
BLAKE2b-256 cd3a7b32c476048fb3e3e613158d81983f0842e5838ebddf545ca4550d75af52

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page