Skip to content
Use your web browser to encrypt and decrypt files.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

Web Browser Based File Encryption / Decryption

Use your web browser to encrypt and decrypt files.


Download web-browser-based-file-encryption-decryption.html, then open the html document in your web browser. Or, simply point your web browser to the html document hosted here.

Then, use the web page rendered in your browser to encrypt a file using a password. Use the same password later to decrypt the file. IMPORTANT: The same password that was used to encrypt the file must be used to decrypt the file later. If you loose or forget the password, it cannot be recovered!

Operation and privacy

The page uses javascript running within your web browser to encrypt and decrypt files. Your files and password do not leave your web browser during the process. This can be independently verified by reviewing the source code for the page, or by monitoring your web browser's networking activity during operation of the page. The page can also be downloaded and run locally on your system offline.


All cryptography operations are implemented using using the Web Crypto API. Files are encrypted using AES-CBC 256-bit symmetric encryption. The encryption key is derived from the password and a random salt using PBKDF2 derivation with 10000 iterations of SHA256 hashing.

Compatibility with openssl

The encryption used by the page is compatible with openssl.

Files encrypted using the page can be decrypted using openssl using the following command:

openssl aes-256-cbc -d -salt -pbkdf2 -iter 10000 -in encryptedfilename -out plaintextfilename

Files encrypted using the following openssl command can be decrypted using the page:

openssl aes-256-cbc -e -salt -pbkdf2 -iter 10000 -in plaintextfilename -out encryptedfilename

Running the page offline

The web page is self-contained. The page does not require any supporting files; all javascript and css for the page is contained in the source code of the page. To run this page locally on your system offline, simply save the page to your system as a .html file, then open the file from your system in your web browser (optionally with networking disabled).


Pull requests are welcome.


This project is licensed under the GPL-3.0 open source license.


Please contact MTI for any questions or comments concerning this project.

You can’t perform that action at this time.