A simple Windows desktop PDF page editor — free, no ads, no donation requests, no paid features. Just the split / merge / reorder / rotate / export you actually need. As a bonus, it also renders and exports Markdown to PDF, with Mermaid diagrams and math (MathJax).
Current version: v4.2.0. src/ (C++17 + WebView2) is the shipped product. proto/prototype/ (PySide6) is a development-time evaluation prototype and is not distributed. See docs/about.md and docs/environment.md.
The UI can switch between Japanese and English (toggle button at the right end of the menu bar). The English and Japanese README screenshots show the same window in each language.
- Open, combine, split, reorder, and rotate PDF pages
- Open PDF/Markdown files by dragging them in from Explorer, whether or not a document is already open
- Drag-and-drop page reordering, including moving pages between files
- Text selection and copy in the preview (on by default; switch to crop-area selection from the right-click menu)
- Export selected/all pages to PDF (split) or PNG/JPEG (DPI, quality, and crop)
- Extract selectable text from all pages, a typed page range, or the currently previewed page, and save it as a .txt file
- Undo and unsaved-change protection
- Markdown preview with Mermaid diagrams, math, and streaming chunk loading for large files, exportable to PDF
- Page breaks in Markdown (put
<div style="page-break-before: always;"></div>or<div class="page"></div>on a line of its own to break the page there on PDF export)
Code signing: Free code signing provided by SignPath.io, certificate by SignPath Foundation. The application is under review; releases published after approval will be signed. See Code signing policy.
If you only want to run the app, download the ZIP from GitHub Releases. GitHub Actions builds QuickMarkPDF-binary.zip on a v* tag; the ZIP is not stored in this repository.
The ZIP contains all distribution files in one flat folder.
QuickMarkPDF.exe- GUI version (the shipped app; the UI, Mermaid.js, and MathJax are bundled inside the exe)QuickMarkPDF_cli.exe- lightweight non-GUI demo binary (not a product CLI)pdfium.dll- PDF rendering/editing engineWebView2Loader.dll- WebView2 loaderreadme.txt/readme_jp.txt- distribution documentationhistory.txt/history_jp.txt- change logLICENSE.txt/LICENSE_jp.txt- MIT License files
Release binaries and checksums are published on GitHub Releases, not in this repository.
Official SHA-256 checksums for the distribution ZIP and binaries are automatically computed during the CI (GitHub Actions) build and published as SHA256SUMS.txt on each release page. Verify the downloaded package with PowerShell:
Get-FileHash .\QuickMarkPDF-binary.zip -Algorithm SHA256Run QuickMarkPDF.exe for the GUI. Keep QuickMarkPDF.exe, pdfium.dll, and WebView2Loader.dll in the same folder (the UI is bundled inside the exe, so no index.html or vendor/ folder is needed). If WebView2 Runtime is unavailable, install Microsoft Edge WebView2 Runtime (Evergreen). It is normally included with Windows 11, but may require installation on older Windows 10 systems, LTSC, Server, or managed devices.
- Click 開く (Open) to load one or more PDFs, or a single Markdown (
.md) file. PDF and Markdown cannot be mixed in one selection. - Select pages in the left thumbnail panel (click / Ctrl+click / Shift+click). Drag thumbnails to reorder, including across files.
- Rotate, delete, split to a new PDF, or export images from the toolbar or the right-click menu; the right-click menu also has extract text.
- Save with one PDF open can overwrite or save as. With multiple PDFs open, Save always uses Save As and merges every open file's pages into one new PDF (originals are left unmodified). That is also how you merge PDFs.
- Opening a
.mdfile switches to Markdown preview (Mermaid and MathJax work offline). Save then exports the preview to PDF. - ヘルプ (Help) has a usage guide and keyboard shortcuts; 設定 (Settings) controls preview wheel mode.
Keyboard shortcuts: Ctrl+O open, Delete delete selected pages, Ctrl+Z undo, Ctrl+S save.
Full usage, including password-protected PDFs and image-export options, is in docs/distribution/readme.txt.
QuickMarkPDF_cli.exe is a page-model demo used to exercise the native engine. It is not a product command-line interface.
.\QuickMarkPDF_cli.exe --help
.\QuickMarkPDF_cli.exe demo
.\QuickMarkPDF_cli.exe input.pdfThe native build uses the MinGW-w64 C++ toolchain, validated with WinLibs (MCF threads, UCRT runtime):
winget install --id BrechtSanders.WinLibs.MCF.UCRT --exact --source wingetscripts/build.py automatically searches the standard WinGet package location and also looks for windres.exe next to the detected compiler, so adding MinGW to PATH is not required for the project build.
The WebView2 SDK and PDFium are fetched into third_party/ (gitignored):
powershell -File scripts\fetch_webview2_sdk.ps1
powershell -File scripts\fetch_pdfium.ps1
python scripts/build.py
scripts\build.bat
# or python scripts/build.pyOutput under dist/: QuickMarkPDF.exe, QuickMarkPDF_cli.exe, pdfium.dll, and WebView2Loader.dll (the UI bundle is embedded in the exe as a build step, not written to dist/).
Output under dist/: QuickMarkPDF.exe, QuickMarkPDF_cli.exe, pdfium.dll, and WebView2Loader.dll (the UI bundle is embedded in the exe as a build step, not written as separate HTML).
Full development details, tests, and QA: docs/environment.md. Specification: docs/spec.md.
The PySide6 prototype is not the shipped app. It remains in the tree so page-editing behavior can still be compared during development.
python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python proto/prototype/main.pyThis project is provided under the MIT License.
Copyright (c) 2026 maktak-105 (GitHub: https://github.com/maktak-105)
See docs/distribution/LICENSE.txt for the English original and docs/distribution/LICENSE_jp.txt for the Japanese reference translation.
The shipped GUI redistributes:
- PDFium (
pdfium.dll) — seethird_party/pdfium/LICENSEandthird_party/pdfium/licenses/ - Microsoft WebView2 Loader (
WebView2Loader.dll) — Microsoft's license inthird_party/webview2/LICENSE.txt - Mermaid.js — MIT (
resources/vendor/mermaid/LICENSE) - MathJax — Apache License 2.0 (
resources/vendor/mathjax/LICENSE)
WebView2 Runtime is not bundled; it is part of Windows 11 (and many Windows 10 systems) or installed separately.
This software is provided as-is. The author assumes no responsibility for data loss, system failures, or hardware damage. Always back up important PDFs before editing or exporting them.
QuickMarkPDF is independent software and is not affiliated with or endorsed by Adobe, Microsoft, or any other third-party software vendor.
Most PDF tools online are either ad-funded viewers that push a paid tier, or full document suites with far more surface area than a quick "cut a few pages out and rotate this one" task needs. QuickMarkPDF exists to be the small, dependable tool for that instead:
- Page editing that stays direct and visible: select pages, drag to reorder, rotate, cut out — no hidden project files, no multi-step wizards for a two-click task.
- Free. No ads, no donation requests, no paid features, no telemetry: it does what it says and gets out of the way.
- Markdown-to-PDF as a bonus, not the point: bundling Mermaid/MathJax support means notes with diagrams and formulas convert cleanly, without needing a second tool.
