Skip to main content

Vigenère Cipher: Keyword Encrypt and Decrypt

Encrypt and decrypt with a keyword, polyalphabetic shift, case kept, non-letters passed through, browser-only

  • Runs locally
  • Category Encoding & Crypto
  • Best for Checking small payloads, tokens, hashes, and encoded values quickly.
Vigenère cipher. Each letter is shifted by the next letter of a repeating keyword (A=0, B=1 …). Case is kept; digits, spaces, punctuation and non-Latin text pass through and do not consume the keyword. Decrypt reverses the direction. Classic: ATTACKATDAWN + LEMON → LXFOPVEFRNHR.

Enter a keyword to start — letters only, case ignored.

Input0 chars
Output0 chars
Encrypted / decrypted text appears here.

What this tool does

Free Vigenère cipher tool that encrypts and decrypts text with a keyword, right in your browser. The Vigenère cipher is a polyalphabetic substitution cipher: instead of one fixed Caesar shift, each letter of your message is shifted by the next letter of a repeating keyword. With keyword LEMON, ATTACKATDAWN becomes LXFOPVEFRNHR, the textbook example that stumped cryptanalysts for three centuries before Kasiski broke it. Paste any text, type a keyword, and flip between Encrypt and Decrypt. Only A–Z and a–z are shifted and their case is preserved; digits, spaces, punctuation, emoji and Chinese characters pass straight through and, importantly, do not advance the keyword pointer, so the running key stays aligned with the actual letters. A live running-key view shows exactly which keyword letter shifted each character. One-click copy and a shareable URL that reopens your exact text, keyword and mode. 100% client-side, nothing is uploaded.

Tool details

Input
Text
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
Shareable URL state
Key settings are encoded in the URL so another person can reopen the same setup.
Performance budget
Initial JS <= 9 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Encoding & Crypto · Student
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How Vigenère Cipher Encoder / Decoder fits into your work

Use it for quick browser-side encoding, decoding, hashing, token checks, and share-safe transformations.

Encoding jobs

  • Checking small payloads, tokens, hashes, and encoded values quickly.
  • Preparing values for APIs, URLs, docs, or support tickets.
  • Avoiding account-based tools when the input might be sensitive.

Encoding checks

  • Do not paste live secrets unless you are comfortable with local browser handling.
  • Confirm whether the operation is reversible before sharing the result.
  • For hashes, compare the exact algorithm and casing expected by the receiver.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Caesar Cipher Encoder & Decoder Encrypt, decrypt and brute-force a Caesar shift cipher — all 25 shifts at once, ROT13 shortcut, browser-only Open
  2. 2 ROT13 Encoder & Decoder ROT13 / ROT47 / Caesar cipher — encode and decode in your browser, instant. Open
  3. 3 Morse Code Translator Text to Morse code and back — encode, decode, audio playback, ITU standard. Open

Real-world use cases

  • Solve a Vigenère CTF or puzzle challenge

    A CTF gives you a blob of ciphertext and a hint that the key is a band name. Paste the ciphertext, set mode to Decrypt, and try keywords until the plaintext reads as English and the flag pops out. The running-key view shows you exactly how each guess lines up, so you can spot when a partial key is close before committing to the whole word.

  • Teach polyalphabetic ciphers in a classroom

    Explaining why Vigenère beat Caesar is far easier when students can type ATTACKATDAWN with LEMON and watch it become LXFOPVEFRNHR, then decrypt it back. The per-letter running key makes the "different shift per position" idea concrete instead of abstract, and the shareable URL lets you hand the whole worked example to the class in one link.

  • Pass a low-stakes note your friends can decode

    For a scavenger hunt, escape room clue, or an inside joke, encrypt a short message with a keyword you both know. Anyone without the keyword sees noise; your friend types the same word and reads it back. It is not real security, but for a fun, reversible obfuscation that needs no app install, a shared keyword is perfect.

  • Verify your own Vigenère implementation

    Writing a cipher in Python, Rust or JavaScript? Use this tool as a reference oracle. Feed the classic ATTACKATDAWN + LEMON vector and confirm you get LXFOPVEFRNHR, then test how your code treats spaces and punctuation against this tool's "skip non-letters without consuming the key" behaviour, which is the standard most test vectors assume.

Common pitfalls

  • Letting non-letters consume the keyword. If a space or comma advances the key pointer, the running key drifts and decryption fails. The standard behaviour, which this tool follows, is to copy non-letters through untouched and only step the key on actual letters.

  • Mixing up encrypt and decrypt direction. Encrypting shifts forward by the key letter; decrypting shifts backward by the same amount. Using Encrypt mode on ciphertext just scrambles it further. Make sure the mode matches the operation you want.

  • Using a too-short or too-obvious keyword. A one-letter keyword is just a Caesar cipher, and a short common word like CAT is quick to brute force. The longer and less predictable the keyword, the harder the message is to break, though Vigenère is never truly secure.

Privacy

The entire cipher runs as plain JavaScript inside your browser tab. Your text, your keyword and the result never leave the page and nothing is logged. The one caveat: the shareable URL encodes your text, keyword and mode in the query string, so a "share link" pasted into chat will record them in the recipient server's access log. For anything you would rather not expose, use the copy button and paste the text instead of sharing the URL, and remember that Vigenère is not real encryption either way.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-05-29