Skip to main content

hammerdown

Logo

Tests PyPI GitHub Release Python Version Platform PRs Welcome

hammerdown converts PDF, Word, Excel, PowerPoint, and plain-text documents to Markdown. PDF conversion uses PyMuPDF and PyMuPDF4LLM; source images are extracted into the output folder and Markdown image references are generated.

Table of Contents

Installation

If Python (3.10+) is installed on your system, installing via pip is the recommended method:

pip install hammerdown

Or after cloning the repository locally:

git clone https://github.com/sergeypugin/hammerdown.git
cd hammerdown
pip install .

Direct Download (Standalone binaries)

If you do not have Python installed, precompiled standalone binaries are available on the GitHub Releases page or you can download directly from the links below:

OS Download
Windows Windows x64
Linux Linux x64
macOS macOS x64 macOS ARM64

On Linux and macOS, make the downloaded binary executable before running:

chmod +x ./hammerdown-linux-x64
./hammerdown-linux-x64 --version

Context menu integration

Run --install to register file manager integrations, or --uninstall to remove them:

hammerdown --install

What happens on each platform:

  • windows: moves binary or script into %LOCALAPPDATA%\Programs\hammerdown\ and adds a "Hammer down file" context menu item for PDF files in Windows Explorer
  • linux: creates launcher in ~/.local/bin/hammerdown and Nautilus script in ~/.local/share/nautilus/scripts/Hammer down file
  • macOS: creates launcher in ~/.local/bin/hammerdown

Update hammerdown to the latest version at any time:

hammerdown --update

This installer is local and does not require administrator privileges.

Usage

Convert one or several supported files:

hammerdown document.pdf
hammerdown report.docx workbook.xlsx slides.pptx

Files can also be dragged onto the executable. Running hammerdown without file arguments opens a file-selection dialog when a graphical desktop is available. --quiet suppresses routine status messages, which is used by file-manager integrations:

hammerdown --quiet document.pdf
hammerdown --force document.pdf
hammerdown --version
hammerdown --help

Supported Formats

Supported document extensions:

  • PDF & E-books: .pdf, .epub, .mobi, .fb2, .xps
  • Word: .docx, .doc (legacy .doc via LibreOffice / MS Word)
  • Excel: .xlsx, .xls (legacy .xls via LibreOffice / MS Excel)
  • PowerPoint: .pptx, .ppt (legacy .ppt via LibreOffice / MS PowerPoint)
  • Plain text & tabular: .txt, .md, .log, .csv

Output Structure

For each input file, an output folder MD_<name>_<ext> is written next to the source document:

document.pdf
MD_document_pdf/
├── document.md
└── images/
    └── extracted illustration and embedded document images

Output folder names consistently include the file extension suffix (for example, MD_report_doc/ and MD_report_docx/) to prevent conflicts between different document formats with the same base name.

Images embedded in PDF, Word, or PowerPoint documents are extracted into MD_<name>_<ext>/images/, and the generated Markdown contains relative image links. Conversion continues through a batch if an individual file fails; the process exits with status 1 if any input fails.

Contributing

Contributions are welcome. Please refer to CONTRIBUTING.md for contribution guidelines. For architectural details, processing pipelines, and internal specifications, see TECHNICAL.md.

Metadata

Release files for hammerdown 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hammerdown 1.2.0
File Size Uploaded Provenance
hammerdown-1.2.0.tar.gz 13.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hammerdown 1.2.0
File Interpreter ABI Platform
hammerdown-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.5 kB

Release files / hammerdown-1.2.0.tar.gz

Download URL hammerdown-1.2.0.tar.gz
Size 13.2 kB
Tags Source
SHA-256 checksum
How to use checksums
249e9923230f811c3eb809cae4927af9c1d96f1b46c30758aa937ed24028dccc
BLAKE2b-256 checksum
How to use checksums
1c81f5e699328fc70ee87008bf744b7ef73d8467d76abed195f70d75dcb290ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / hammerdown-1.2.0-py3-none-any.whl

Download URL hammerdown-1.2.0-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9e5a965c8f7e3357f32f73e12ea82c10eb0e2b8054056515d02995770e8670f
BLAKE2b-256 checksum
How to use checksums
985875b1c842cc7b613220e48698f624b2f0a32f76a51dde9e3e418931516a7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Security for hammerdown 1.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for hammerdown-1.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page