Encrypted file vault

Create a password-encrypted file you can decrypt here later. AES-256-GCM authenticates the payload; PBKDF2-SHA-256 derives the key with a fresh salt.

Check input Local analysis

Choose a file to inspect

At least 12 characters for encryption. Save the passphrase separately; it cannot be recovered.

Processed locally in this browser tab.

RESULT PREVIEW

Ready when you are.

Enter the required input and run the check to see a compact report.

Encrypt the file and authenticate the result

File encryption should do more than turn readable bytes into unreadable ones. It should also detect whether the encrypted package has been modified. This vault uses AES-256-GCM, an authenticated-encryption mode, with a password-derived key. Decryption succeeds only when the key and authenticated data produce a valid authentication tag.

The tool creates a documented .fpsvault package that can be decrypted by the same implementation later. It is a focused browser utility, not a replacement for a managed backup system or an independently audited encryption product. Keep the original file until you have successfully decrypted a test copy of the encrypted output. A lost passphrase cannot be recovered by the site.

Understand the password derivation and random inputs

The passphrase is encoded as UTF-8 and used with PBKDF2-SHA-256 at 600,000 iterations to derive a 256-bit AES key. Each encryption generates a fresh 16-byte salt and a fresh 12-byte GCM IV with crypto.getRandomValues. The salt makes identical passwords derive different keys across packages, while the IV provides the nonce required by GCM.

The iteration count makes a password guess more expensive than a single fast hash, but it does not turn a predictable password into a strong one. Use a long, independently generated passphrase. The interface requires at least twelve characters for encryption and asks you to confirm the value; those are input safeguards, not a numerical guarantee of resistance to guessing.

Passwords that look alike can contain different Unicode characters or whitespace. This tool uses the exact input rather than silently normalising it. Store the passphrase in a trusted password manager or another appropriate secure record. Do not keep the only copy beside the encrypted file in a location accessible to the same people you are trying to exclude.

The Overview tab explains the findings. Measured data lets you search individual fields and values, while JSON report shows the complete export. Export JSON to retain a baseline, or print the findings for your own records. Review the report before sharing it: browser characteristics, token claims, and file names can reveal information about your setup.

Know what is inside the vault format

The package begins with the ASCII version marker FPSVAULT1, followed by the salt and IV. This fixed header is supplied as authenticated additional data to AES-GCM, so tampering with it causes authentication to fail. The encryption uses a 128-bit authentication tag.

The encrypted payload contains a length-prefixed JSON metadata block and the original file bytes. The metadata includes the original filename and byte count. Encrypting the filename avoids disclosing it as plain text inside the package, although the suggested download name still includes the original filename with an added extension. Rename the downloaded package if the external filename itself is sensitive.

On decryption, the tool checks the format marker, authenticates the ciphertext and header, validates metadata bounds and checks the recovered byte count. The download filename is sanitised to remove path separators and control characters. A wrong password and a modified ciphertext both produce an authentication failure; the tool does not claim to distinguish them reliably.

Verify a round trip before relying on the copy

Select a disposable test file first, encrypt it, save the resulting package and switch the operation to decrypt. Choose the saved package, enter the same passphrase and recover the file. Compare its checksum with the original using the file-integrity tool. That exercise confirms the workflow and your ability to recover the output on the browser you intend to use.

For actual material, keep backups until recovery is verified. Encryption does not protect against accidental deletion, storage failure or losing the decryption software. Retain a copy of the implementation and format documentation when long-term recovery matters. A browser bookmark alone is not a dependable archive strategy.

The tool reads the complete input into memory and permits files up to 100 MiB. For larger files or recurring sensitive workflows, choose established software with streaming support, independent review and an operational recovery plan. Browser encryption also depends on the integrity of the page and device: a malicious extension or compromised script can access data before encryption.

A downloaded encrypted package can reveal its approximate size even though its contents are protected. This format does not add size-hiding padding. If file size or the fact that a particular package exists is sensitive, account for storage location and transfer metadata as well as encryption.

The implemented cryptographic parameters

ParameterValue
Authenticated encryptionAES-GCM with a 256-bit key and 128-bit tag
Key derivationPBKDF2-HMAC-SHA-256, 600,000 iterations
Salt / IV16 random salt bytes / 12 random IV bytes per encryption
MetadataFilename and byte count stored inside the encrypted payload
Header authenticationFPSVAULT1 marker, salt and IV supplied as GCM additional data

Strengths and limitations

What this is useful for

The tool uses native Web Crypto primitives, fresh random salt and IV values, and authenticated encryption. It encrypts internal filename metadata and validates the recovered structure before offering a download. A documented format and a visible recovery workflow make the result more understandable than an unexplained encrypted blob.

What to keep in mind

There is no password recovery, external security audit or guarantee against a compromised browser. The format is specific to this implementation and the file is processed in memory. Encryption cannot replace backups, key management or a tested recovery process. The external download name may still reveal the original name.

Common questions

Can the site recover my password?

No. The application does not create an account, escrow a key or upload the passphrase. Keep a reliable independent record of the passphrase. If it is lost, the intended design leaves no recovery shortcut; trying likely passwords is the same costly guessing problem faced by anyone else.

Why does encrypting the same file twice give different output?

Each encryption generates a new random salt and IV. The derived key and encrypted package therefore differ even when file contents and passphrase are the same. That variation is expected. Compare recovered plaintext checksums to verify equivalent contents, not encrypted package equality.

Do the file or passphrase leave the tab?

The encryption and decryption operations run locally through Web Crypto, and this application does not upload the file or password. That does not isolate them from a compromised device or browser extension. Use a trusted environment, especially for high-value secrets and confidential documents.

Does a decryption error mean the file is corrupted?

It can mean a wrong passphrase, modified ciphertext, a changed header or an unsupported package. Authenticated encryption intentionally does not provide a reliable distinction between several failure causes. Confirm the password and original saved package, then use backups rather than attempting to bypass authentication.

Sources and further reading

50 useful tools · ↑ ↓ to navigate · Enter to open · Esc to close