Stop re-entering passwords. Remove passwords and copy/print restrictions from PDF files β safely, locally, and without changing your originals.
β οΈ This app does NOT crack or recover passwords. It cannot find or guess a lost password. It is designed solely to eliminate the hassle of re-entering a known password every time you open a PDF you already have legitimate access to.
| Method | Best for |
|---|---|
| πͺ Microsoft Store | Easiest β auto-updates, sandboxed |
| π¦ Winget | Windows Package Manager users |
| π» Command Prompt (curl) | Quick install via terminal |
| β‘ PowerShell | Quick install via terminal |
| πͺ£ Scoop | Scoop users |
| π« Chocolatey | Chocolatey users |
| β¬οΈ Direct download | No terminal, no package manager |
Looking for Linux? See the π§ Linux section below.
Prefer the command line? Open the Store listing directly:
start ms-windows-store://pdp/?ProductId=9NZFZNXPFF15winget install epatels.CKPDFUnlockerNote: This installs the EXE version by default. For the MSI installer β recommended for Enterprise/IT deployment β use:
winget install epatels.CKPDFUnlocker --installer-type msiNote: You can also install straight from the Microsoft Store using winget:
winget install --id 9NZFZNXPFF15 --source msstoreEXE installer:
curl -L -o "%TEMP%\ck-pdf-unlocker-setup-x64.exe" https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker-setup-x64.exe && start /wait "" "%TEMP%\ck-pdf-unlocker-setup-x64.exe" /S && echo CK PDF Unlocker installed successfully!MSI installer: β for Enterprise users
curl -L -o "%TEMP%\ck-pdf-unlocker-setup-x64.msi" https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker-setup-x64.msi && msiexec /i "%TEMP%\ck-pdf-unlocker-setup-x64.msi" /qb /norestart && echo CK PDF Unlocker installed successfully!EXE installer:
Invoke-WebRequest -Uri "https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker-setup-x64.exe" -OutFile "$env:TEMP\ck-pdf-unlocker-setup-x64.exe"; Start-Process "$env:TEMP\ck-pdf-unlocker-setup-x64.exe" -ArgumentList "/S" -Wait; Write-Host "CK PDF Unlocker installed successfully!" -ForegroundColor GreenMSI installer: β for Enterprise users
Invoke-WebRequest -Uri "https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker-setup-x64.msi" -OutFile "$env:TEMP\ck-pdf-unlocker-setup-x64.msi"; Start-Process msiexec -ArgumentList "/i `"$env:TEMP\ck-pdf-unlocker-setup-x64.msi`" /qb /norestart" -Verb RunAs -Wait; Write-Host "CK PDF Unlocker installed successfully!" -ForegroundColor GreenNote: Scoop installs the
.exeversion. If you need the.msiinstaller, use the Command Prompt or PowerShell options above.
scoop install ck-pdf-unlockerTo update to the latest version:
scoop update ck-pdf-unlockerAdd the bucket once, if not already done:
scoop bucket add epatels https://github.com/epatels/scoop-bucketchoco install ck-pdf-unlockerNote: The build script automatically prefers the MSI β it only falls back to the EXE if no MSI was uploaded to that GitHub release. There is no
--installer-typeswitch like winget's, so you can't choose at install time; if you specifically need one or the other, use the Command Prompt or PowerShell options above instead.
| Recommended for most users | |
| For Enterprise / IT deployment |
β οΈ Windows SmartScreen warning on first runWhen you first run the app, Windows may show a warning saying "Windows protected your PC". This is expected and completely normal for any new, independently distributed application β it does not mean the file is unsafe.
This happens because the
.exeis not yet code-signed with a commercial certificate (which costs hundreds of dollars per year). The tool is clean and contains no malware or spyware.To proceed: click More info β then click Run anyway.
| Method | Best for |
|---|---|
| π¦ Snap | Ubuntu and other snap-enabled distros β auto-updates |
| π₯ Flatpak | Any modern distro with Flatpak set up |
| π AppImage | Portable β runs on any distro, no installation required |
CK PDF Unlocker is published on the Snap Store.
sudo snap install ck-pdf-unlockerLaunch the GUI:
ck-pdf-unlockerRun the CLI β snap namespaces it as ck-pdf-unlocker.ckpdfunlocker by default, since the command name differs from the snap name:
ck-pdf-unlocker.ckpdfunlockerTo use the shorter ckpdfunlocker instead, set up the alias once (snapd requires this explicit, per-machine step β it can't be done automatically at install time):
sudo snap alias ck-pdf-unlocker.ckpdfunlocker ckpdfunlockerAfter that, both forms work:
ckpdfunlocker
ck-pdf-unlocker.ckpdfunlockerTo update:
sudo snap refresh ck-pdf-unlockerDownload + install:
curl -L -o ck-pdf-unlocker.flatpak https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker.flatpak && flatpak install --user ck-pdf-unlocker.flatpakRun:
flatpak run io.github.epatels.CkPdfUnlockerUpdate to the latest version (download a fresh .flatpak from the link above, then):
flatpak install --user --reinstall ck-pdf-unlocker.flatpakThis installs straight from a downloaded file, not from a store β
flatpak updatewon't pick up new versions automatically. Repeat the download step above for each new release.
A portable, single-file executable β no installation required. Works on virtually any x86_64 Linux distribution.
Download + run:
curl -L -o ck-pdf-unlocker.AppImage https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker.AppImage && chmod +x ck-pdf-unlocker.AppImage && ./ck-pdf-unlocker.AppImageOn first run, the AppImage offers to install itself β it copies to ~/.local/bin/, adds an icon and a .desktop file so CK PDF Unlocker appears in your application menu. You can decline and just run it portably.
Update to the latest version:
Download the new .AppImage from the latest release and replace the old file:
curl -L -o ~/.local/bin/ck-pdf-unlocker.AppImage https://github.com/epatels/ck-pdf-unlocker/releases/latest/download/ck-pdf-unlocker.AppImage && chmod +x ~/.local/bin/ck-pdf-unlocker.AppImageYour data in
~/Documents/CK PDF Unlocker/is completely separate from the AppImage file and is never affected by updates.
New in this release: ckpdfunlocker, a full-featured CLI for scripting and automation β built on the same engine, Password Vault, and Smart Auto-fill logic as the desktop app.
:: Unlock a single file with a known password
ckpdfunlocker statement.pdf --password hunter2
:: Look up the password in the Vault by Owner + Sender
ckpdfunlocker invoices\*.pdf --owner Dad --sender "HDFC Bank"
:: Unlock an entire folder (and subfolders), auto-matching each file by filename
ckpdfunlocker C:\Downloads --recursive -o C:\Unlocked
:: Save a password to the Vault for future use, without unlocking anything yet
ckpdfunlocker --owner "Priya" --sender "State Electricity Board" --password mypw --save-password personal| Option | Description |
|---|---|
inputs |
PDF file(s), folder(s), and/or glob pattern(s), e.g. *.pdf |
-p, --password PASS |
Password to try on every resolved file |
--owner NAME / --sender NAME |
Look up the password in the Vault by Owner + Sender (both required together) |
--save-password {personal,shared} |
Save/update Owner + Sender + Password into the given vault for future reuse β requires all three, and can be combined with file inputs or run entirely on its own (no files) just to pre-populate the Vault |
--no-store |
Never consult the Vault β files with no explicit --password are reported as skipped |
-o, --output-dir DIR |
Output folder (default: alongside each source file, as <name>_unlocked.pdf) |
-r, --recursive |
When an input is a folder, also search subfolders |
--dry-run |
Show what would happen; write nothing |
--json |
Also print a machine-readable JSON summary |
-q, --quiet |
Only print the final summary line(s) |
--version |
Print the version and exit |
--accept-eula |
Accept the license non-interactively (needed once; shared with the desktop app's first-run dialog) |
With no --password or --owner/--sender given, the CLI auto-matches each file by filename against the Vault β the same Smart Auto-fill the desktop app uses β and only applies a match when it's unambiguous. Both the CLI and desktop app read and write the same Personal/Shared databases, so anything saved in one shows up instantly in the other.
From Settings:
Go to Settings β Apps β Installed apps, find CK PDF Unlocker, and click Uninstall.
From the command line:
:: Winget
winget uninstall epatels.CKPDFUnlocker
:: Scoop
scoop uninstall ck-pdf-unlocker
:: Chocolatey
choco uninstall ck-pdf-unlockerMicrosoft Store installs can be uninstalled from Settings β Apps or by right-clicking the app in the Start Menu and selecting Uninstall.
flatpak uninstall io.github.epatels.CkPdfUnlockerTo also remove the app data:
flatpak uninstall --delete-data io.github.epatels.CkPdfUnlockerIf you used the built-in install prompt on first run:
# Remove the AppImage binary
rm -f ~/.local/bin/ck-pdf-unlocker.AppImage
# Remove the desktop entry and icon
rm -f ~/.local/share/applications/ck-pdf-unlocker.desktop
rm -f ~/.local/share/icons/hicolor/512x512/apps/ck-pdf-unlocker.png
# Remove the install marker
rm -rf ~/.local/share/ck-pdf-unlocker/.appimage-installed
# Refresh the app menu
update-desktop-database ~/.local/share/applications/ 2>/dev/null || trueIf you ran it portably (never installed), just delete the .AppImage file.
Your data in
~/Documents/CK PDF Unlocker/is not removed by any of the above. Delete that folder manually if you no longer need your Password Vault and settings.
This is a major release. The single biggest change: CK PDF Unlocker now remembers every password you use and auto-fills it the next time β no more digging through emails or sticky notes for a password you've typed a hundred times before.
| π Save once, unlock forever | The first time you unlock a file, its password is saved automatically. The next file from the same sender unlocks itself. |
| π§ Smart, self-learning auto-fill | The app reads each filename and learns which Owner and Sender it belongs to β the more you use it, the fewer clicks each new batch takes. |
| ποΈ Personal & Shared Password Vaults | Keep your own private vault, or a shared one for a household/team β encrypted, backed up daily, and automatically conflict-free. |
| β¨οΈ New CLI | ckpdfunlocker β script or automate unlocking from the command line, using the very same Vault and auto-fill logic as the desktop app. |
| β Completely free | No payment, no subscription, no trial |
| β Offline | File does not leave your device |
| β No registration | No account, no email, no credit card, no phone |
| β No ads | Clean, distraction-free interface |
| β No malware or spyware | Every release is independently scanned by VirusTotal β see Security below |
| β No expiry | Download once, use forever |
| β No Watermark | Absolutely no restrictions |
| β Commercial use allowed | Use it for your business without restrictions |
| β Original files untouched | A new _unlocked.pdf is always created β originals are never modified |
CK PDF Unlocker removes two kinds of PDF restrictions:
| Restriction | What it means | After unlocking |
|---|---|---|
| Open password | You're prompted for a password just to open the file | File opens freely |
| Copy / print restrictions | File opens but you can't copy text, print, or edit | All restrictions lifted |
Your original file is never modified. CK PDF Unlocker always creates a new file alongside the original β named
filename_unlocked.pdfβ or in a folder of your choice. The original stays exactly as it was.
Anyone who receives password-protected or restricted PDFs they legitimately own or have authorisation to access β anywhere in the world. If you've ever had to dig up a password just to open a file you already own, this tool is for you.
Banks routinely send monthly statements as password-protected PDFs. CK PDF Unlocker lets you unlock them all at once, making them easy to archive, search, and share with your accountant β without hunting for the password every single time.
Electricity, water, gas, and broadband providers frequently email bills as protected PDFs. Unlocking them lets you copy text for expense claims or print them without restriction.
Tax authorities, income portals, and government agencies around the world issue password-protected PDFs β acknowledgements, assessment notices, certificates. Unlock them once and store them freely.
Home loan statements, insurance policy documents, and premium receipts are routinely sent as locked PDFs. Unlock them to combine, annotate, or share with co-applicants or advisers.
Monthly credit card statements from most banks are password-protected. Process multiple months in a single run.
Many payroll systems generate password-protected payslips. Unlock them for easy reference during loan applications or tax filing.
Diagnostic labs and hospitals sometimes send reports as restricted PDFs. Unlock them to share easily with other doctors or insurance providers.
Some downloaded research papers or internal reports have copy restrictions that prevent highlighting or extracting quotes. Remove the restrictions to work with the content normally.
Licences, certificates, and regulatory filings from government portals often come with restrictions. Unlock them for filing, printing, or long-term archival.
- π Password Vault β enter a password once and it's saved automatically; the next matching file unlocks without asking
- π§ Smart auto-fill β auto-detects Owner and Sender from the filename, and gets better the more you use it (see below)
- Personal & Shared databases β a private vault for you, plus an optional shared vault for a household or team, with automatic conflict resolution
- Batch processing β add as many PDFs as you like and unlock them all in one click
- Per-file passwords β each file can have its own password, or use a single global password for all files
- Original file untouched β a new
_unlockedfile is always created; the original is never modified or deleted - Output folder control β save unlocked files alongside originals, or choose a custom output folder
- Dual engine β uses pikepdf as the primary engine with qpdf as a fallback for maximum compatibility
- Drag and drop β drag PDF files directly into the file list
- β¨οΈ Command-line interface β
ckpdfunlocker, for scripting and automation, sharing the same Vault and auto-fill logic as the desktop app - Dark / Light / System theme β choose your preferred theme; it's remembered across sessions
- Auto-update β notified in-app when a new version is available, with one-click update
- Output metadata β every unlocked PDF is stamped with the tool name, version, timestamp, and a unique document ID for traceability
- In-app Help Center β a searchable-by-topic help panel (Help β Help Center, or press
F1) covering the Vault, auto-fill, CLI, and FAQ - Anonymous telemetry β optional, opt-in only; helps improve the tool (no filenames or passwords ever sent)
The headline feature of this release: you should never have to type the same PDF password twice.
The moment you successfully unlock a file, its password is saved automatically into the Password Vault, keyed by:
- Owner β who the document belongs to (e.g. "Dad", "Priya", "Acme Pvt Ltd")
- Sender β who issued it (e.g. "HDFC Bank", "State Electricity Board")
The next PDF from that same sender β this month's statement, next quarter's bill β is matched automatically and unlocked without you typing a thing.
When you add a file, CK PDF Unlocker reads the filename and tries to work out its Owner and Sender on its own. The first time it sees an unfamiliar filename pattern, it may ask you to confirm β after that, it remembers the pattern, so similarly-named files are recognized instantly from then on.
| Session | What happens |
|---|---|
1st time you unlock HDFC_Statement_Jan.pdf |
You confirm Owner + Sender once; password is saved |
2nd time (HDFC_Statement_Feb.pdf) |
Owner, Sender, and password are all auto-filled |
| Every month after | Zero clicks β just add the file and hit Unlock |
| π Personal Passwords | ποΈ Shared Passwords β for families & teams | |
|---|---|---|
| Who it's for | Just you | A household or small team |
| Where it lives | Your own device, local only | Point it at a shared or synced folder (e.g. a family NAS, OneDrive, or Google Drive folder) |
| What you get | Your own statements, bills, and personal documents unlock themselves | Set a password once β e.g. the electricity board's β and everyone's copy of CK PDF Unlocker auto-fills it |
| Managing entries | Filter, edit, or delete anytime | Same, plus move/copy entries to or from Personal with one click |
| Security | Encrypted at rest, visible only to you | Still encrypted at rest β only people with access to that shared folder can read it |
| Conflicts | β | If the same Owner/Sender exists in both vaults, the most recently updated entry wins automatically β no dialog, no interruption |
Switch between them from the Personal Passwords / Shared Passwords tabs at the top of the window. Each vault lists every saved entry with its Owner, Sender, Password, Last Modified (UTC), and Modified By β and you can:
- + Add an entry manually
- Move to Shared Passwords / Copy to Shared Passwords β promote a personal entry to the shared vault (or vice versa)
- Delete an entry you no longer need
- Filter by Owner or Sender, with one click to Clear Filter
- Show All to reset any active filter
- Open DB Settings to relocate the database file (e.g. onto a synced/shared drive) or view its path
- Every password is encrypted at rest (AES via Fernet) inside a local SQLite database β never stored in plain text, never uploaded anywhere
- Both vaults are backed up automatically every day (last 5 backups kept)
- Auto-fill only ever reuses Owner/Sender pairs and passwords you've personally confirmed β nothing is guessed or scraped from the file's contents
- Import/export either vault to/from Excel (
.xlsx) for bulk setup or backup
- Launch the app
- Click + Add Files (or double-click the file list area, or drag and drop)
- Select your PDF
- If the file has an open password, enter it in the Password column β or let auto-fill do it for you
- Click Unlock PDF(s) β
- The unlocked file is saved as
yourfile_unlocked.pdfin the same folder
Your original file is not changed. A brand new unlocked copy is created. You can delete it, keep both, or replace the original manually β the choice is yours.
| Column | Meaning |
|---|---|
| Owner | Who the document belongs to (auto-filled or typed) |
| Sender | Who issued it, e.g. a bank or utility company (auto-filled or typed) |
| Password | The password to try β auto-filled from the Vault when Owner + Sender are recognized |
| PW | Shows whether a password was found/looked up for this row |
| R | Restrictions detected in the original file (e.g. Modify, Copy) |
| DB | Which vault (Personal or Shared) this row's password is looked up from / saved to |
- Add as many PDFs as you like using + Add Files (or drag and drop multiple files)
- Enter passwords per file if needed, or use the Common Password for all PDFs field and click Apply to all
- Choose an output folder if you want all files saved to one place instead of next to their originals
- Click Unlock PDF(s) β
If a file named
statement_unlocked.pdfalready exists at the destination, CK PDF Unlocker won't overwrite it β it saves asstatement_unlocked-v2.pdf,-v3, and so on.
Leave the password field blank. CK PDF Unlocker will strip the restrictions automatically β no password required.
| Original file | Unlocked file |
|---|---|
statement_jan.pdf |
statement_jan_unlocked.pdf |
ITR_acknowledgement.pdf |
ITR_acknowledgement_unlocked.pdf |
salary_slip_march.pdf |
salary_slip_march_unlocked.pdf |
If you specify a custom output folder (Step 3), unlocked files are saved there instead of next to the originals.
| Component | Details |
|---|---|
| OS | Windows 10 or Windows 11, or Linux (via Snap, Flatpak, or AppImage β see Linux install) |
| Runtime | None β everything is bundled (the CLI, ckpdfunlocker, is included alongside the GUI on every platform) |
| qpdf | Downloaded automatically if needed on Windows; bundled directly in the Snap/Flatpak/AppImage builds |
On first launch, CK PDF Unlocker asks if you'd like to share anonymous usage statistics to help improve the tool.
What is sent (if you opt in):
- App version
- Operating system name and version
- Number of files processed per run
- Success/failure count
- Processing time
What is never sent β ever:
- Filenames
- File paths
- Passwords
- File contents
- Any personally identifiable information
You can change your preference at any time via Theme β Settings.
CK PDF Unlocker uses two industry-standard open-source PDF libraries:
- pikepdf (primary) β a Python library built on QPDF that handles most standard PDF encryption schemes
- qpdf (fallback) β used when pikepdf alone cannot remove a particular encryption layer
Found a bug? Have an idea for a new feature? Your feedback is welcome and helps make the tool better.
- π Report a bug β Open a bug report
- π¬ Suggest a feature β Open a feature request
- π Browse existing issues β Issues page
Is this legal? Yes, if you are unlocking PDFs that you own or have a legitimate right to access. Removing restrictions from your own bank statements, utility bills, or tax documents is entirely lawful. Do not use this tool to bypass protections on documents you do not own or are not authorised to access.
Will my original file be changed?
No. CK PDF Unlocker never modifies the original file. It always creates a new file ending in _unlocked.pdf.
What if I enter the wrong password? The tool will report a failure for that file in the log. The original file is not affected. Correct the password and try again.
What PDF encryption types are supported? RC4 (40-bit and 128-bit) and AES (128-bit and 256-bit) β the full range used by standard PDF producers including banks, government portals, and office software.
Can it unlock PDFs without a password (copy/print restrictions only)? Yes. If a PDF opens freely but has printing or copying disabled, leave the password field blank and click Unlock. The restrictions will be removed.
Does it work on scanned PDFs? Yes β the encryption wrapper is removed regardless of whether the PDF contains text or scanned images.
Is my saved password safe? Yes. The Password Vault encrypts every password before it touches disk (AES via Fernet), and nothing is ever sent off your device.
What if Smart Auto-fill picks the wrong Owner or Sender? Just correct it once in the row β that correction is exactly what the app learns from, so future files with a similar filename improve.
Does the CLI share the same Vault as the desktop app? Yes β both read and write the same Personal/Shared databases, so a password saved in one is instantly available in the other.
Release v8.4.0 assets have been independently scanned by VirusTotal. Click a link below to view the live scan results:
| Installer | VirusTotal Result |
|---|---|
.exe (recommended) |
View scan β |
.msi (enterprise) |
View scan β |
Scans are submitted automatically on each release. Results reflect the file at the GitHub release download URL.
CK PDF Unlocker is proprietary, freeware software β free to use, including for commercial use, but not open source. Use is governed by an End-User License Agreement (EULA); a copy is provided as LICENSE. Redistribution, modification, and reverse engineering are not permitted β see the EULA for full terms.
- pikepdf β the core PDF processing library
- qpdf β the underlying C++ PDF engine
- PostHog β open-source product analytics
Built with β€οΈ by epatels Β· epatels.github.io/ck-pdf-unlocker








