Running locally on your device ...
Your files
Running locally on your device ...
0%
Your files never left your device
Last updated:
If you searched for a way to decrypt a PGP file without uploading it, you already have something worth protecting: a message someone deliberately encrypted so that only you, holding the matching private key, could ever read it.
That is exactly why the claim below is not made lightly: your private key, its passphrase, and the encrypted file itself are processed only inside your own browser, never sent to this or any other server.
What follows is the concrete mechanism behind that claim, a way to check it yourself in a couple of minutes, its offline behaviour, and what this setup means under data-protection law.
Running locally on your device ...
Running locally on your device ...
0%
Your files never left your device
Because this tool handles files people have deliberately encrypted, the usual "trust us" is not good enough here - so the mechanism and how to verify it are spelled out in full below.
Decryption runs through openpgp.js, a complete, open-source implementation of the OpenPGP standard (RFC 9580/4880). Its own source comment states plainly that the library is pure JavaScript - no WebAssembly component, no network calls, no eval - and that the browser build relies only on the browser's native Web Crypto API plus BigInt for the underlying large-number math.
Your private key, its passphrase, and the encrypted message are handed to a dedicated Web Worker, a second thread inside the same browser tab, the same one every file-processing tool on this site uses. Inside that Worker, three library calls do the actual work in sequence - reading the private key, unlocking it with your passphrase, then decrypting the message - and the recovered original file is handed back to the page as bytes.
That Worker area of the code is checked automatically, on every single change, to contain zero network primitives at all: no fetch, no XMLHttpRequest, no sendBeacon, no WebSocket. It is not a promise resting on good intentions; it is a build-time check that would fail the moment anyone tried to add one.
If the passphrase is wrong, or the message was encrypted to a different key, the library fails with a clear, honest error rather than guessing - it will never hand you a garbled or partially decrypted file and call it done.
Works offline This tool works offline on a genuinely first-ever attempt - you do not need to have decrypted anything while online beforehand. Once the page has loaded, your browser fetches everything it needs in the background; after that, decryption works without a connection too, even if you try it immediately - verified byte-for-byte identical in an automated test.
Legal background (not legal advice, just context): under GDPR Article 28, a data processing agreement (DPA) is required whenever personal data is handed to a third party for processing - for example when a file is uploaded to a server so that server can convert, read or store it. With gottrix that handover simply does not happen: the file is decrypted inside a dedicated Web Worker with zero network access, so gottrix never sees the file contents and therefore cannot store, analyse or forward them either. This does not change other obligations that do apply (for the few server requests that genuinely happen - the page load itself, consent-gated analytics); our own privacy policy (/en/datenschutz) covers those. Other providers in this space commonly process files server-side (the file is uploaded, processed there, and deleted after a defined retention period) - that is a technically different, in many cases equally lawful model, but one that requires handing data to a third party and therefore a DPA. This context is not a substitute for individual legal advice.
For this tool specifically, the same reasoning applies to your private key and passphrase, not only to the file: they are security material, not just content, and they too are processed exclusively inside your browser and never transmitted anywhere. No question of a data-processing agreement arises for them either, for the same reason it does not arise for the file itself.
Read the full privacy policy for both layers
A common alternative design looks different but is not disreputable on its own: the encrypted file - and in some designs the private key and passphrase as well - is sent to a server, decrypted there, the result returned, and the inputs deleted after a defined period. Choosing that path means trusting that the period and the access controls really are honoured.
For an already-encrypted file, that dependency is a bigger step than for an ordinary document: the entire reason someone encrypts a file with PGP in the first place is to avoid handing it, or the key that opens it, to anyone but the intended recipient. A server-based decryption step re-introduces exactly the kind of third party that PGP itself is designed to keep out.
A PGP-encrypted file exists because someone - the sender, the recipient, or both - already made a deliberate decision that its contents needed protecting: contracts, health records, financial documents, or a source's communication with a journalist are common reasons people bother to encrypt at all. That is precisely why a wrong or exaggerated privacy claim on this particular page would not be a minor inaccuracy; it would undermine the one thing PGP itself is meant to guarantee. That is why this page states plainly what actually works and how to check it, rather than making a blanket promise.
Yes, and without any special tools beyond what your browser already has. Open the Network panel (F12), decrypt a file, and check that no entry carries your key, passphrase, or file - only the page's own generic assets. The stronger test is disconnecting entirely and decrypting again.
Yes. Once the page has loaded, your browser fetches everything it needs in the background - after that, decryption works offline too, even on a genuinely first-ever attempt right after loading. An automated test confirms it works byte-for-byte identically.
For the contents of your file, your private key, or your passphrase there is no processing operation such an agreement could cover, because none of them are transmitted anywhere. This is a classification, not legal advice; our privacy policy covers the separate, unrelated website-delivery layer.
No. Everything runs inside the browser tab itself, the same way on Windows, macOS or any other current desktop or mobile browser - there is nothing to install and nothing running in the background.
All options, format details and limits of the tool:
Decrypt with PGPOverview of every tool in this category: Data & code