Three things Ben saw on the running application that all read as "this is still the tool it was forked from". 1. The upstream 50-page manual was sitting in the repository root as MmdPdf.pdf, so it was the document on screen whenever it was opened or restored from the last session - a full-page green upstream logo on black. It was never shipped in the payload, but it was there to be opened, which is the same thing to whoever is looking at the screen. Removed, and added to .gitignore so it does not come back with a source drop. With no document, the application opens on its own empty view. 2. Scan was in the title bar beside minimise, maximise and close. That is window chrome, not a tool. It is a toolbar button now, next to Print in the file group, with a caption in every label mode like every other tool. The band button style it used has no other user and is gone with it. 3. The footer read v1.7.5, which is the upstream project's version. MMD PDF is 2026.8.1. Not 1.0: the pilot machines already carry a build numbered 1.7.5, and an upgrade has to sort above what it replaces or Intune would read it as a downgrade. The Intune detection rule moves with it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
MmdPdf is a free, open-source PDF editor for Windows. View, annotate, OCR, merge, split, edit text, draw, sign, fill forms, print, flatten, and open password-protected PDFs without an Adobe subscription. Install it or run it portable from the same Windows download. No runtime installation is required, and the app never phones home.
Full how-tos live on the help page; internals, formats, and limits on the technical page.
Features
- High-quality PDFium rendering with four view modes (Single, Continuous, Two-Page with a book layout option, Grid), tabbed documents, and a split pane for two documents side by side
- Annotate with inline text editing and font matching, word-wrapping text boxes, drawing, lines, highlights, images, and page-number or watermark stamps. Highlights use the Multiply blend so the text underneath stays readable, and every tab has its own undo and redo history.
- Built-in OCR (Tesseract bundled, no cloud): make searchable PDFs, OCR a page or region to the clipboard, extract all text; extra languages download on demand
- Organize pages: merge, split, insert, rotate, crop, extract, delete, drag-and-drop reordering; drop a folder or
.ziponto the window to merge its contents - Export one page or a multi-page selection as PNG or JPEG directly from the Pages panel
- Transform: rotate, scale, flip, deskew by drawing a level line, perspective correction for photographed pages, and a LEVELS section (black point, white point, midtones) for pale scans
- Forms: fill text, checkbox, radio, and comb fields as live controls and save back; digital signatures with a cloud certificate (Certum SimplySign), plus drawn or imported signatures and initials
- Print with a real in-app preview, paper size and source selection, scale / position / margins / pages-per-sheet options at 300 DPI; Save Flattened rasterizes to a fully uneditable PDF
- Full-text search with highlighting, and column-aware text selection that copies multi-column pages in reading order
- Night-mode inversion works independently in each split pane. Thirteen themes, live accent colors, and toolbar styles provide 33 looks, while the resizable sidebar can dock on either side.
- Localized UI in 12 languages (contribute via
TRANSLATING.md); full keyboard shortcut overlay on F1 with list and visual keyboard views - Opens password-protected PDFs (prompts instead of erroring) and repairs damaged ones
- Runs portable, or self-installs per-user (no UAC) or machine-wide (
/silentfor scripted deployment); registers as a PDF handler and uninstalls cleanly - Standards-safe saves: every release is tested against a 2,900-file veraPDF conformance corpus with a zero-regressions requirement. See validation/RESULTS.md.
- Local-only: no account, no telemetry, no phone-home
Command line
Every core operation also runs headless from a terminal, with meaningful exit codes, even while the app is open:
MmdPdf.exe --merge out.pdf a.pdf b.pdf scan.jpg
MmdPdf.exe --extract-pages in.pdf 1-3,5 out.pdf
MmdPdf.exe --split in.pdf pages\
MmdPdf.exe --decrypt locked.pdf open.pdf [--password p]
MmdPdf.exe --to-image in.pdf imgs\ --dpi 300 --format jpg
MmdPdf.exe --flatten in.pdf flat.pdf
MmdPdf.exe --print in.pdf --printer "HP LaserJet" --pages 1-4 --copies 2
MmdPdf.exe --ocr scan.pdf searchable.pdf --lang eng
MmdPdf.exe --batch-resave inDir\ outDir\ --log report.csv
MmdPdf.exe --help
Full reference on the help page.
Screenshots
Requirements
- Windows 10 or 11 (x64)
- No runtime install. Everything needed is inside the EXE (targets .NET Framework 4.8, which ships with every supported Windows release).
Download
WinGet:
winget install mmdpdf
Chocolately:
choco install mmdpdf
- Prebuilt binary: https://github.com/SteveTheKiller/MmdPdf/releases/latest/download/MmdPdf.exe
- Source (GPL3 corresponding source for this release): https://github.com/SteveTheKiller/MmdPdf/releases/download/v1.7.5/MmdPdf-1.7.5-src.zip
Build from source
git clone https://github.com/SteveTheKiller/MmdPdf.git
cd MmdPdf
dotnet publish -c Release
Output lands in bin/Release/net48/publish/. Normal publishing produces the development single-file build plus a versioned MmdPdf-<version>-src.zip. The release pipeline builds a verified multi-file payload and packs it into one portable MmdPdf.exe; installed shortcuts launch the inner app directly for faster startup.
Requires the .NET 8 SDK or later to build (even though the output targets .NET Framework 4.8).
The PDF write engine (PdfSharpCore, MIT) is vendored under third_party/PdfSharpCore/ and builds as part of the solution; it carries six standards-conformance patches, each marked MmdPdf patch in the source. Origin commit and details are recorded in third_party/PdfSharpCore/VENDORED.txt.
Translations
UI strings live in Strings/ (one XAML ResourceDictionary per locale). To add or improve a language, see TRANSLATING.md. Missing keys fall back to English, so a partial translation is fine.
Changelog
See CHANGELOG.md.
License
GPLv3. See LICENSE. If you fork, modify, or redistribute MmdPdf, your version must also be released under GPLv3 with source available. No exceptions for commercial rebrands.




