Encrypt any file into a .medusa file using a password, share the file and decrypt with the password.
No servers. No cloud. No accounts.
Disclaimer: This tool is provided "as is". The author is not liable for data loss. Test decryption before deleting originals.
- Lossless: Original filename and mime type are preserved.
- Portable:
.medusafiles are self-describing and can be shared. - Client-Side Only: 100% browser. Your password never leaves your device.
- XOR Core: Fast symmetric XOR encryption. v1. Later versions will have more industry-grade techniques.
- Zero Dependencies: Vanilla JS + Web APIs only
v1 Uses XOR
- Medusa v1 uses a XOR encryption technique.
- This provides casual privacy and obfuscation. It is not resistant to known-plaintext or frequency attacks.
- Do not use for classified, financial, or other high-sensitivity data.
- The goal of v1 is speed, simplicity, and a stable file format. Future versions will be drop-in compatible via the header version field.
- Use at your own risk. Keep backups.
Web App
- Open
index.htmlin Chrome, Firefox, or Edge - Drop file → Enter password → Save
file.ext.medusa - Drop
.medusa→ Enter password → Get original file back
Wrong password = corrupted output. There is no password hint or recovery.
git clone https://github.com/yourname/medusa
cd medusaOpen index.html. No build, no install.
Project Structure
├── index.html
├── src/
├── style.css
├── main.js
├── lib/
└── #lib functions
└── public/
└── medusa.pngPRs welcome for: UI, performance, tests, CLI port.
For crypto changes, open an issue first. v1 stays XOR.
MIT © 2026