gptpdf vs pdf-craft

PDF-to-Markdown tools compared

gptpdf and pdf-craft are Python projects that convert PDFs into editable formats. gptpdf uses a vision-capable model to interpret PDF pages, while pdf-craft focuses on OCR workflows for scanned documents and also supports EPUB creation and translation.

gptpdfpdf-craft
LanguagePythonPython
LicenseMITMIT
Stars3.6k6.3k
Forks261460
Last analyzedOct 3, 2026Oct 3, 2026

Key differences

  • gptpdf uses PyMuPDF to locate non-text areas and sends page content to a compatible multimodal model API; pdf-craft uses OCR backends that can run remotely or locally.
  • gptpdf converts PDFs to Markdown and returns paths to extracted images; pdf-craft can create Markdown with image assets or EPUBs with metadata and a table of contents.
  • gptpdf offers configurable model settings, prompts, and worker threads; pdf-craft offers synchronous and asynchronous APIs and saves extraction results in `.pcex` files for later processing.
  • pdf-craft includes translation workflows for EPUBs and PDFs, including bilingual EPUB output; gptpdf focuses on Markdown conversion.
  • Both projects use Python and have an MIT license. The listed repository counts are 3.6k stars and 261 forks for gptpdf, compared with 6.3k stars and 460 forks for pdf-craft.

Choose gptpdf if you…

  • need model-based interpretation of visually complex PDF pages for Markdown conversion.
  • want to configure an OpenAI-compatible model API, prompts, and worker threads.
  • can provide compatible multimodal API access and accept per-page model costs.
Read the gptpdf analysis →

Choose pdf-craft if you…

  • need OCR workflows for scanned books or documents.
  • want EPUB creation, translation, or translated text written onto PDF pages.
  • need synchronous or asynchronous Python APIs or the option to reuse saved extraction results.
Read the pdf-craft analysis →

Compare the numbers side by side, or add more projects

This comparison is generated with AI from the OSRepos analyses of both projects. Always check each project's repository and documentation before choosing.