Blowfish cipher

Encrypt or decrypt data with Blowfish (ECB/CBC), hex or base64, with a variable 4–56 byte key. Runs in your browser; nothing is uploaded.

Result

About this tool

Blowfish cipher encrypts or decrypts data with Blowfish in ECB or CBC mode, with hex or base64 key/IV/ciphertext. Blowfish takes a variable-length key from 4 to 56 bytes (32–448 bits) and operates on 64-bit (8-byte) blocks.

⚠️ Blowfish is a legacy cipher. Its 64-bit block size makes it vulnerable to birthday/Sweet32 attacks when encrypting large amounts of data with one key. Use this tool only to decrypt legacy data or for interop with old systems — for new encryption use AES (the aes-cipher tool) or a passphrase tool.

Privacy

Everything runs in your browser via WebAssembly — your key and data never leave the device. Also available from the gizza CLI and in chat.

FAQ

What key lengths does Blowfish accept?

Anything from 4 to 56 bytes (32–448 bits). The key must be supplied in the selected data format — base64 by default, or hex — and the tool rejects keys outside that range with an explicit length error. Note that the key length is measured after decoding, so a 16-character hex string is an 8-byte key.

Do I need an IV, and how long must it be?

Only in CBC mode, where the IV must be exactly 8 bytes (Blowfish's block size) encoded in the same format as the key. In ECB mode there is no IV — leave the field empty. If CBC decryption produces garbage, the usual culprit is a wrong or reused IV.

Why does decryption fail with a padding error?

Both modes use PKCS#7 padding, so the last block must unpad cleanly. A padding failure almost always means the key, mode (CBC vs ECB), or data format (base64 vs hex) doesn't match what was used to encrypt — not that the ciphertext is "corrupt".

Is Blowfish still safe to use for new data?

No — its 64-bit block size makes it vulnerable to Sweet32-style birthday attacks once you encrypt enough data under one key. Use it to decrypt legacy data or interoperate with old systems, and pick AES (see the aes-cipher tool) for anything new.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool blowfish-cipher "Text to encrypt…" 'key=base64 or hex key'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/blowfish-cipher/?data=Text%20to%20encrypt%E2%80%A6&operation=encrypt&cipher=cbc&key=base64%20or%20hex%20key&iv=base64%20or%20hex%20iv&format=base64

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.