Skip to content

Ciphey

Paste encoded or encrypted text and it works out the layers and shows the plaintext, no key needed.

Stars
21.7k
Forks
1.4k
Licence
MIT
Language
Rust
Last update
5 days ago
Type
App

What it is

Ciphey takes text that has been encoded or encrypted and tries chains of decoders until it finds something that looks like readable plaintext. You do not need to know the key or the cipher name. It also tries to identify what the result is, such as a password or an IP address, using the LemmeKnow pattern matcher. It is written in Rust and runs from the command line.

  • Decode a string made of several stacked layers, such as ROT13 then hex then Base64, in one command
  • Restrict results with a regex such as flag\{ so only matching plaintext is accepted
  • Use -d in a script to take the first plaintext found without a prompt
  • Identify whether a decoded string is an IP address, TOTP URI or similar

Great for

  • CTF players working through encoding puzzles
  • Security students learning common ciphers and encodings
  • Pentesters checking what an encoded string contains
  • People who want a quick decode of several stacked layers

Not ideal for

  • Protecting real data: it is a decoding and cracking tool, not an encryption product for keeping secrets safe
  • Strong modern encryption with unknown keys, which the README does not claim it can break
  • Users who need a graphical interface, since the README only describes a terminal workflow
Step-by-step guide: how to use CipheyInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Rust toolchain (only needed for building from source or using cargo install)

    Install with Cargo

    cargo install ciphey

    Clone the repository

    git clone https://github.com/bee-san/Ciphey

    Build from source

    cargo build --release
  2. 2

    Run it

    • Install with cargo install ciphey, or download a prebuilt binary from the releases page
    • Run ciphey -t 'your encoded text' on a string
    • Complete the first-run setup, which saves settings to ~/.ciphey/config.toml
    • Answer y or N to the plaintext prompt, or use -d to skip it
  3. 3

    Get the most out of it

    • Use -r with a regex such as picoCTF\{ to accept only matching plaintext
    • Use --wordlist to accept exact matches from your own word list
    • Increase the search time with -c when the default 5 seconds is not enough
    • Run ciphey --help to see every option

Downloads

Strengths

  • Works without a key or cipher name, across 24 decoders and crackers as listed in the README
  • Fast on the benchmarks the README reports, compared with Python Ciphey 5.14
  • Result caching and a regex or wordlist option help narrow the search

Trade-offs

  • Only 24 decoders are included today; the README notes 109 more are not yet supported
  • Results depend on a plaintext-looking heuristic, so it may stop on a wrong answer or need confirmation
  • Speed figures come from the project's own benchmark on one machine

How it compares

ProjectStarsTypeLevelUpdatedBest for
Ciphey (this)21.7kAppbeginner5 days agoCTF players working through encoding puzzles
juice-shop14.3kAppbeginner6 days agoSecurity students learning web vulnerabilities hands-on
hackingtool81.6kDev toolintermediate6 days agoPenetration testers who want a single launcher for many common tools
spaCy34kLibraryintermediate10 days agoPython developers building text-processing features into an application
hacker-roadmap15.7kCurated listbeginner3.1 years agoBeginners who want an overview of penetration testing concepts and vocabulary
hexstrike-ai13.3kAI model / agentadvanced3 months agoSecurity professionals who want to script or speed up recon with an AI assistant

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.