Free & Client-Side

Blowfish Cipher Encoder & Decoder

Encrypt and decrypt text instantly using the Blowfish block cipher — Bruce Schneier's 1993 algorithm trusted inside bcrypt. Choose CBC or ECB mode, set a key up to 56 bytes, and get Hex or Base64 output. Everything runs locally in your browser; nothing is uploaded.

64-bitBlock size
16Feistel rounds
32–448 bitKey length
0msServer roundtrip
Only used in CBC mode. Leave blank to auto-generate a random IV.
Ciphertext will appear here…

Capabilities

Everything you need from a Blowfish tool

A complete, browser-based implementation built for developers, students, and security enthusiasts working with legacy and bcrypt-related systems.

CBC & ECB modes

Switch between Cipher Block Chaining for stronger semantic security and Electronic Codebook for simple block-by-block testing.

Variable key length

Use any key from 4 to 56 bytes (32–448 bits), matching Blowfish's full supported key-size range.

100% client-side

All cryptographic operations run in your browser using JavaScript. Your plaintext, keys, and ciphertext never touch a server.

Hex & Base64 output

Choose the ciphertext encoding that fits your workflow, whether you're storing values in a database or pasting into JSON.

Real-time validation

Inline checks for key length, IV format, and ciphertext padding flag problems before you click encrypt or decrypt.

One-click copy & export

Copy ciphertext, plaintext, or generated IVs to your clipboard, or download results as a plain text file.

Under the hood

How the Blowfish cipher works

Blowfish encrypts data in 64-bit blocks using a Feistel network with 16 rounds, key-dependent S-boxes, and a P-array derived from your secret key.

L (32-bit) R (32-bit) F-function new L new R Repeated for 16 rounds, then a final swap and P-array XOR produce the 64-bit ciphertext block.
  1. Split the block

    Each 64-bit plaintext block is divided into two 32-bit halves, labeled L and R.

  2. Run the F-function

    The right half passes through four key-dependent S-boxes and modular addition, producing a transformed 32-bit value.

  3. XOR and swap

    The F-function output is XORed with the left half and combined with the P-array entry for that round, then the halves swap.

  4. Repeat 16 times

    This process runs for 16 rounds total, with each round using a different pair of P-array subkeys.

  5. Final transformation

    After the last round, the halves are swapped back and XORed with the final two P-array entries to produce the ciphertext block.

Understanding the Blowfish Cipher: Algorithm, Uses, and Comparisons

The Blowfish cipher is a symmetric-key block cipher designed by cryptographer Bruce Schneier and first published in 1993 as a fast, royalty-free alternative to DES. It processes data in fixed 64-bit blocks and supports key lengths ranging from 32 to 448 bits, giving developers fine-grained control over the security-performance tradeoff. At its core, Blowfish uses a 16-round Feistel network combined with key-dependent S-boxes and a 18-entry P-array, both of which are generated through an expensive key-setup phase. This setup cost is intentional: it makes Blowfish highly resistant to brute-force attacks while keeping per-block encryption extremely fast on conventional hardware.

One of the most common questions developers ask is what is the difference between Blowfish and Twofish. Twofish is Schneier's successor algorithm, submitted as a finalist in the AES competition in the late 1990s. While Blowfish operates on 64-bit blocks, Twofish uses a larger 128-bit block size, which mitigates certain collision-based attacks that become practical when large volumes of data are encrypted under a single key with a 64-bit cipher. In practical terms, Blowfish remains a solid choice for smaller payloads, embedded systems, and legacy compatibility, while Twofish or AES is generally preferred for encrypting large files or high-throughput streams.

A Blowfish encoder takes plaintext and a secret key and produces ciphertext, typically represented in Hexadecimal or Base64 for easy storage and transport. A Blowfish decoder reverses this process, requiring the exact same key and, for CBC mode, the same initialization vector (IV) that was used during encryption. Because Blowfish is a symmetric cipher, the encryption and decryption keys are identical — there is no separate public and private key pair as you would find in RSA or other asymmetric systems.

So what is the Blowfish algorithm used for in practice today? Its most widespread application is inside bcrypt, the password-hashing function used by countless authentication systems. Bcrypt repurposes Blowfish's expensive key-setup routine as a deliberately slow, tunable hashing mechanism, which helps resist brute-force and rainbow-table attacks against stored password hashes. Blowfish is also still found in older VPN implementations, file encryption utilities, and embedded firmware where its small memory footprint and fast software performance on 32-bit processors remain valuable.

If you're learning how to use Blowfish encryption, the general workflow is straightforward: choose a strong, random secret key between 4 and 56 bytes, select a mode of operation (CBC is recommended over ECB for most use cases because it hides patterns in repetitive plaintext), generate a random IV for CBC mode, and then run your plaintext through the cipher. For decryption, the recipient needs the same key, the same mode, and the same IV. Always pad your plaintext to a multiple of 8 bytes, since Blowfish operates on fixed 64-bit blocks — most implementations handle this automatically using PKCS#7 padding.

When it comes to best practices for Blowfish encryption, the most important consideration is the 64-bit block size limitation. Security researchers have demonstrated practical collision attacks (commonly referenced under the SWEET32 designation) against 64-bit block ciphers like Blowfish and 3DES when very large amounts of data are encrypted under one key in CBC mode. For new application designs, AES-256 is the recommended default. However, Blowfish remains a reasonable choice for smaller, bounded payloads, for interoperability with legacy systems, and for educational purposes when studying Feistel network design. Always avoid ECB mode for anything beyond a single block, use cryptographically secure random IVs, and rotate keys periodically for long-lived systems.

Whether you're exploring classic cryptography for academic study, maintaining a legacy codebase, or simply curious how a Blowfish cipher decoder reconstructs the original message from ciphertext, this tool lets you experiment safely and instantly, entirely within your browser.

Blowfish vs Twofish

Quick comparison at a glance

A side-by-side look at how Blowfish compares with its successor, Twofish, and the modern standard, AES.

PropertyBlowfishTwofishAES
DesignerBruce Schneier (1993)Bruce Schneier et al. (1998)Daemen & Rijmen (1998)
Block size64 bits128 bits128 bits
Key length32–448 bits128, 192, 256 bits128, 192, 256 bits
StructureFeistel network, 16 roundsFeistel network, 16 roundsSubstitution-permutation network
Common useBcrypt, legacy systemsFile encryption, AES finalistIndustry-wide standard (TLS, disk encryption)
Large-data riskBirthday-bound (SWEET32) on >4GB/keyLowVery low
FAQ

Frequently asked questions

What is the Blowfish cipher?

Blowfish is a symmetric-key block cipher designed by Bruce Schneier in 1993. It operates on 64-bit blocks with key lengths from 32 to 448 bits, using a Feistel network structure with 16 rounds and key-dependent S-boxes.

Is Blowfish still secure to use today?

Blowfish remains unbroken for its intended use, but its 64-bit block size makes it vulnerable to birthday-bound attacks (like SWEET32) when encrypting very large amounts of data under one key. For new systems, AES-256 or Twofish is generally recommended, though Blowfish is still widely trusted inside bcrypt for password hashing.

What is the difference between Blowfish and Twofish?

Twofish is the successor to Blowfish, also designed by Bruce Schneier's team, using a 128-bit block size instead of Blowfish's 64-bit block. Twofish was a finalist in the AES competition and offers better resistance to modern cryptanalysis on large data volumes.

How do I encrypt text with Blowfish online?

Enter your plaintext and a secret key into the encryption fields, choose a cipher mode such as CBC or ECB, and select your output format (Hex or Base64). The tool computes the ciphertext instantly in your browser without sending any data to a server.

What key sizes does Blowfish support?

Blowfish supports variable key lengths from 32 bits up to 448 bits in 8-bit increments, giving developers flexibility to balance speed and security depending on the application's threat model.

Why does CBC mode need an IV?

The initialization vector (IV) ensures that encrypting the same plaintext twice with the same key produces different ciphertext. In CBC mode, each plaintext block is XORed with the previous ciphertext block before encryption, and the IV serves as that "previous block" for the very first block.

Is my data stored or sent anywhere when I use this tool?

No. All Blowfish encryption and decryption happens locally in your browser using JavaScript. Your plaintext, key, IV, and ciphertext are never transmitted to or stored on any server.

Explore more cryptography & AI tools

Browse our full collection of cipher tools, hash generators, and key utilities — or discover over 100 free AI tools to power your workflow.

Disclaimer: "Blowfish" is an algorithm name placed in the public domain by its designer, Bruce Schneier, and is not a registered trademark of SEOWebChecker. All other product names, logos, and brands referenced on this page are property of their respective owners and are used for identification purposes only. This tool is provided for educational and development purposes; for production systems handling sensitive data, consult current cryptographic standards and a qualified security professional.