@mqyxm/cryptit

File Encryption / Decryption — Streaming

Via StreamSaver.js or experimental showSaveFilePicker().

Note: Safari doesn’t support streaming browser-generated data directly to disk (no File System Access API, and service-worker downloads aren’t truly streamed). Libraries must buffer the whole file in memory, which can exhaust RAM for large files. That’s why a safeguard blocks processing over 500 MB on Safari. On iOS safari, even smaller files can cause crashes.

Configuration
0 = AES-GCM / Argon2id (single thread)
1 = XChaCha20-Poly1305 / Argon2id (multithread*)
* not supported in browsers.
0 = errors only, 4 = maximum detail
You can select one or more files.
Drop files here
Results
File Operation Size Download Notes

Notes: Encrypted files include a self-describing header (scheme, params, salt, etc.). Decryption uses this embedded header automatically. You only need the passphrase.