Vigenere Cipher

Encode and decode the Vigenere polyalphabetic cipher with a keyword.

  • Runs locally in your browser
  • No upload required

Try it

Result
RIJVS
Direction
encode

Supported formats

Input
text, select, number
Output
text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

Vigenere encode with keyword KEY.

How it works

  • Repeated the keyword across the plaintext letters.
  • Shifted each letter by the keyword letter's alphabet position (inverted to decode).
  • Non-letters are copied unchanged and do not consume a keyword position.
  • The keyword must contain letters only.

Methodology

  1. Read the input text one character at a time.
  2. Apply the cipher or encoding transformation for the chosen direction.
  3. Return the transformed text with a short summary.

Usage

  1. Paste or type the text to convert.
  2. Choose Encode or Decode.
  3. Read the converted text and copy it.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

Encode a sample

jsonSelect to copy
{
  "text": "HELLO",
  "direction": "encode",
  "key": "KEY"
}

Decode a sample

jsonSelect to copy
{
  "text": "RIJVS",
  "direction": "decode",
  "key": "KEY"
}

Limitations

How the Vigenere Cipher works

Encode and decode the Vigenere polyalphabetic cipher with a keyword. The transformation is a single deterministic pass, so the same input always produces the same output.

Frequently asked questions

Is this cipher secure?
No. Classical substitution and transposition ciphers are educational and are not suitable for protecting real secrets.
Does everything round-trip?
Reversible ciphers round-trip for alphabetic input; encodings that normalise case or drop characters document that in their notes.

Sources

  1. ECMA-262: ECMAScript Language Specification — Ecma International
  2. MDN Web Docs — JavaScript String and code point reference — MDN