🔓 Free Open Source PDF Unlocker - A powerful CLI command-line tool to unlock password-protected PDF files instantly. Perfect for batch PDF unlock operations, this free PDF password remover supports both single file processing and bulk directory processing.
Keywords: unlock pdf free, pdf unlocker, open source pdf unlock, batch pdf unlock, free pdf password remover, decrypt pdf files, pdf security removal
- 🔓 Free PDF Unlock: Completely free and open source PDF password remover
- 📁 Batch PDF Unlock: Process entire directories of password-protected PDFs at once
- ⚡ Fast PDF Decryption: Lightning-fast PDF security removal built with Go
- 🖥️ Cross-Platform PDF Unlocker: Works on Linux, macOS, and Windows
- 🎯 Simple PDF Unlock Tool: Easy-to-use command-line interface, no complex setup
- 💯 Open Source PDF Unlocker: Transparent, secure, and community-driven
- 🚀 Efficient PDF Password Remover: Optimized for performance and reliability
- 📋 Single & Batch Processing: Unlock one PDF or thousands - your choice
- Flexible input methods: Positional arguments with auto-detection or traditional flags
- Smart path detection: Automatically detects files vs directories based on extension and path type
- Single PDF file processing with automatic output naming
- Smart password caching per directory (reuses password for files in same directory)
- Automatic password retry with cache invalidation on authentication failures
- Support for both user and owner passwords
- Automatic handling of non-encrypted PDFs (copies them unchanged)
Note: This is a desktop CLI tool, not a web-based service. Download and run locally for maximum security and privacy of your PDF files.
Looking for a free PDF unlocker or open source PDF password remover? PDFUnlock is the perfect solution for anyone who needs to:
- Unlock PDF files for free without online services
- Remove PDF passwords from multiple files at once
- Decrypt password-protected PDFs securely on your own computer
- Batch unlock PDF files in entire directories
- Use a free alternative to paid PDF unlockers
Unlike web-based PDF unlock services, this tool runs entirely on your computer, ensuring your sensitive documents never leave your device. Perfect for businesses, students, and anyone who values privacy and security.
Download the latest release for your platform from the Releases page.
Supported platforms:
- Linux (x86_64, ARM64)
- Windows (x86_64)
- macOS (Intel x86_64, Apple Silicon ARM64)
git clone https://github.com/fadeltd/pdfunlock.git
cd pdfunlock
make buildmake install# Unlock a password-protected PDF file instantly - Creates: document_unlocked.pdf
./pdfunlock document.pdf
# Specify both input and output files for PDF decryption
./pdfunlock document.pdf custom_output.pdf
./pdfunlock -in input.pdf -out output.pdf
# Auto-generate output filename for PDF unlock (creates input_unlocked.pdf)
./pdfunlock -in input.pdf
# Use owner password for PDF security removal
./pdfunlock document.pdf --owner# Unlock all password-protected PDFs in a directory
./pdfunlock /path/to/pdf/directory
# Batch PDF password removal using flags
./pdfunlock -dir /path/to/pdf/directory
# Use owner password for directory processing
./pdfunlock /path/to/directory --ownerPerfect for:
- Students unlocking academic PDFs
- Businesses processing encrypted documents
- Anyone needing free PDF password removal
- Bulk PDF decryption tasks
When processing a directory, the tool will:
- Scan for all PDF files in the directory
- Prompt for password once per directory (cached for subsequent operations)
- Automatically retry with new password if authentication fails (up to 3 attempts)
- Create unlocked versions with "_unlocked" suffix
- Skip files that are already unlocked
- Reuse cached passwords when processing files from the same directory
-in: Input PDF file path-out: Output PDF file path (required when using -in)-dir: Directory containing PDF files to process--owner: Treat password as owner password (default: user password)
# Build the binary
make build
# Clean build artifacts
make clean
# Run tests
make test
# Install to /usr/local/bin/
sudo make install
# Uninstall from /usr/local/bin/
sudo make uninstall
# Cross-compile for multiple platforms with UPX compression
make build-allBuild Output:
- Single platform builds:
./pdfunlock(current directory) - Multi-platform builds:
dist/pdfunlock_{platform}/pdfunlock[.exe] - Supports: Linux (amd64, arm64), Windows (amd64), macOS (amd64, arm64)
- Automatic UPX compression reduces binary size by ~37%
The build system supports environment-based configuration for UPX compression:
# Copy the sample environment file
cp env.sample .env
# Edit .env to customize UPX settings
# Available options:
# ENABLE_UPX=true # Global UPX enable/disable
# ENABLE_UPX_LINUX=true # Linux-specific UPX control
# ENABLE_UPX_WINDOWS=true # Windows-specific UPX control
# ENABLE_UPX_DARWIN_INTEL=true # macOS Intel UPX control
# ENABLE_UPX_DARWIN_ARM=false # macOS ARM UPX control (disabled by default)
# GITHUB_REPOSITORY_OWNER=fadeltd # Repository owner for GoReleaserNote: The .env file is ignored by git, so your local settings won't be committed to the repository.
This project uses GitHub Actions with GoReleaser for automated cross-platform releases:
Supported Platforms:
- Linux (x86_64, ARM64)
- Windows (x86_64)
- macOS (Intel x86_64, Apple Silicon ARM64)
Release Process:
Using Makefile (Recommended):
# Create and push tag in one command
make tag-release VERSION=v1.0.0
# Or step by step:
make tag VERSION=v1.0.0
make release VERSION=v1.0.0Manual process:
# Create and push a git tag
git tag v1.0.0 && git push origin v1.0.0- GitHub Actions automatically builds and releases binaries
- Binaries are available on the Releases page
UPX Compression: UPX compression is automatically applied during cross-platform builds and can be configured via environment variables:
- Local builds: Configure via
.envfile (see Environment Configuration section) - GitHub Actions: Set repository variables for automated releases:
- Go to: Repository Settings → Secrets and variables → Actions → Variables
- Available variables:
ENABLE_UPX_LINUX,ENABLE_UPX_WINDOWS,ENABLE_UPX_DARWIN_INTEL,ENABLE_UPX_DARWIN_ARM
- Compression results: Typically reduces binary size by ~37% (from ~16MB to ~6MB)
- Note: UPX compression on macOS ARM may cause compatibility issues, so it's disabled by default
Version Information:
# Check version of installed binary
./pdfunlock --version- pdfcpu - PDF processing library
MIT License
Primary Keywords: unlock pdf free, pdf unlocker, open source pdf unlock, batch pdf unlock, free pdf password remover, decrypt pdf files, pdf security removal
Secondary Keywords: pdf unlock tool, free pdf decryption, remove pdf password, unlock password protected pdf, pdf password cracker, bulk pdf unlock, command line pdf unlocker, offline pdf unlock, secure pdf unlock, desktop pdf unlocker
Use Cases: academic pdf unlock, business document decryption, bulk pdf processing, password recovery, document management, file conversion preparation, archive processing
Alternatives to: online pdf unlocker, web pdf unlock, paid pdf tools, Adobe Acrobat password removal, SmallPDF unlock, iLovePDF unlock, PDF24 unlock
Technical: golang pdf tool, cross-platform pdf utility, CLI pdf processor, open source document tools, github pdf unlocker, MIT license pdf tool