Drop your password-protected PDF
or click to browse
You must know the correct password. VeloTools cannot crack or guess passwords.
Upload a locked PDF, enter the password you already have, and download an unprotected copy. Works entirely in your browser.
Drop your password-protected PDF
or click to browse
You must know the correct password. VeloTools cannot crack or guess passwords.
When you unlock a PDF, you type the password into a <input type="password"> field on the VeloTools page. The value is used only for pdf-lib PDFDocument.load(bytes, { password }) in tab memory. It is not stored in localStorage, not sent to a server, and not appended to the URL.
The decrypted document is saved via Blob and URL.createObjectURL straight to disk. For compliance: no third-party data processor is involved — the user's browser on their hardware performs all decryption.
_unlocked.pdf without an encryption dictionary.| Operation | Decrypt + save without /Encrypt in output trailer |
|---|---|
| Algorithms (via pdf-lib) | RC4 (40/128 bit), AES-128, AES-256 (Standard Security Handler Rev 4-6) |
| Brute-force / password guessing | Not supported |
| Max file size | Limited by device RAM |
| PDF versions | 1.4 - 2.0 with Encryption Dictionary |
| Processing | 100% client-side, 0 bytes over the network |
| Output | PDF with no password and no permission flags |
PDF protection is defined in the Encryption Dictionary in the file trailer. Key fields: /Filter /Standard, /V (algorithm version), /R (handler revision), /O and /U (password hashes), /P (32-bit permission flags).
User Password (document open password). When set, the content key (/StmF, /StrF) cannot be derived without the correct string. This is what you enter in VeloTools. On success, pdf-lib obtains the access key and reads encrypted page streams.
Owner Password (permissions password). Controls /P flags: print, copy text, modify. A PDF may open without a user password but with restrictions — full unlock still requires the owner password when permissions are locked. Many files use one password for both fields.
RC4 vs AES. Legacy PDFs (Rev 2-3) use RC4-40/128. Modern Acrobat files use AES-128 (CFB mode) or AES-256 (Rev 5-6). VeloTools does not implement crypto itself; pdf-lib decrypts on valid password. VeloTools does not weaken encryption — it removes the security envelope when you supply the secret.
Output. PDFDocument.save() without encrypt() writes a clear PDF: strings and streams in the open, no /Encrypt entry. Page content and metadata are preserved; only the security wrapper changes.
Limits. This is not cracking. AES-256 with a strong password cannot be brute-forced in the browser in reasonable time — and VeloTools does not try. Use case: you know the password but need an unprotected copy for merge, split, or printing.
/P. They often match; sometimes the PDF opens freely but will not print — then you need the owner password.