Best Python libraries for reading and filling PDF files (worth paying for?)

Requested by a visitor · October 26, 2026

We asked 10 models: Which Python PDF libraries are worth using? Each named its own top 10.

Asked 4 ways: List request · Buyer asking for advice · Search query · Worth paying for?. Share of voice pools every wording.

Agreement between models
62%
Same model, run twice
73%
Different picks
20

When agreement between models is well below a model's agreement with itself, the split reflects real differences in taste rather than randomness.

The consensus

We asked 10 models: Which Python PDF libraries are worth using? Each named its own top 10.

Each cell is the position that model gave the pick; blank means it left the pick off. Click a row for each model's reasoning.

#PickScoreListed byClaude Haiku 5.5GPT-6 LunaGemini 4 ArgonQwen 3.8 FlashDeepSeek V4.1 FlashGLM-5.3Kimi K3MiniMax M3Mistral Large 4Nemotron 3.5 Super VL

5 lower-scoring picks are not shown; every ballot below lists them in full.

Most divisive

Picks most models listed, at very different positions

Hot takes

Picks that appear on only one ballot

Every ballot

Hover a pick to find it on the other ballots. Marked picks appear on no other ballot.

Claude Haiku 5.5

  1. ReportLab
  2. pypdf
  3. PyMuPDF
  4. pdfplumber
  5. PDFMiner.six
  6. PyPDF2
  7. WeasyPrint
  8. pikepdf
  9. Camelot
  10. fpdf2

70% with consensus · 52% self-consistent · knowledge cutoff June 2026

GPT-6 Luna

  1. PyMuPDF
  2. pypdf
  3. pdfplumber
  4. ReportLab
  5. borb
  6. WeasyPrint
  7. pikepdf
  8. Camelot
  9. PyPDF2
  10. OCRmyPDF

91% with consensus · 76% self-consistent · knowledge cutoff May 18, 2026

Gemini 4 Argon

  1. PyMuPDF
  2. pdfplumber
  3. pypdf
  4. ReportLab
  5. WeasyPrint
  6. pikepdf
  7. pypdfium2
  8. fpdf2
  9. PDFMiner.six
  10. borb

85% with consensus · 90% self-consistent · knowledge cutoff March 2026

Qwen 3.8 Flash

  1. pypdf
  2. pdfplumber
  3. PyMuPDF
  4. ReportLab
  5. PDFMiner.six
  6. fpdf2
  7. pikepdf
  8. weasyprint
  9. WeasyPrint
  10. borb

72% with consensus · 88% self-consistent · knowledge cutoff not published

DeepSeek V4.1 Flash

  1. pypdf
  2. PyMuPDF
  3. pdfplumber
  4. ReportLab
  5. pikepdf
  6. PDFMiner.six
  7. borb
  8. WeasyPrint
  9. pdf2image
  10. Camelot

76% with consensus · 81% self-consistent · knowledge cutoff not published

GLM-5.3

  1. PyMuPDF
  2. pypdf
  3. pdfplumber
  4. ReportLab
  5. PDFMiner.six
  6. pikepdf
  7. fpdf2
  8. WeasyPrint
  9. borb
  10. Camelot

95% with consensus · 84% self-consistent · knowledge cutoff not published

Kimi K3

  1. PyMuPDF
  2. pypdf
  3. pdfplumber
  4. ReportLab
  5. PDFMiner.six
  6. borb
  7. fpdf2
  8. pikepdf
  9. pdfrw
  10. Camelot

92% with consensus · 71% self-consistent · knowledge cutoff not published

MiniMax M3

  1. ReportLab
  2. pdfplumber
  3. pypdf
  4. PyMuPDF
  5. WeasyPrint
  6. PyPDF2
  7. Boruta
  8. pdfkit
  9. fpdf2
  10. Camelot

56% with consensus · 67% self-consistent · knowledge cutoff not published

Mistral Large 4

  1. PyMuPDF
  2. ReportLab
  3. pdfplumber
  4. PyPDF2
  5. pypdf
  6. PDFMiner.six
  7. WeasyPrint
  8. Pillow
  9. pikepdf
  10. Borland PDF Library (or commercial: iText / pdftools)

79% with consensus · 51% self-consistent · knowledge cutoff not published

Nemotron 3.5 Super VL

  1. PyPDF2
  2. PDFMiner.six
  3. ReportLab
  4. pdfplumber
  5. PyMuPDF
  6. pypdf
  7. Camelot
  8. pdf2image
  9. fpdf2
  10. pdfrw

42% with consensus · 73% self-consistent · knowledge cutoff not published

Who agrees with whom

Overlap between two models' lists, weighted toward the top · 100 means identical · Color runs from 34 (lightest) to 95 (darkest)

Claude Haiku 5.5GPT-6 LunaGemini 4 ArgonQwen 3.8 FlashDeepSeek V4.1 FlashGLM-5.3Kimi K3MiniMax M3Mistral Large 4Nemotron 3.5 Super VL
Claude Haiku 5.5635565646765796649
GPT-6 Luna638364758888547335
Gemini 4 Argon558367678580627334
Qwen 3.8 Flash656467847472575240
DeepSeek V4.1 Flash647567847976506038
GLM-5.3678885747995517540
Kimi K3658880727695497341
MiniMax M3795462575051496042
Mistral Large 4667373526075736050
Nemotron 3.5 Super VL493534403840414250