36,358
stars
+8+61+330
4,194
forks
389
watchers
1,439
prs
1,272
issues
459
releases
7
discussions
README
CyberChef The Cyber Swiss Army Knife CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser. These operations include simple encoding like XOR and Base64, more complex encryption like AES, DES and Blowfish, creating binary and hexdumps, compression and decompression of data, calculating hashes and checksums, IPv6 and X.509 parsing, changing character encodings, and much more. The tool is designed to enable both technical and non-technical analysts to manipulate data in complex ways without having to deal with complex tools or algorithms. It was conceived, designed, built and incrementally improved by an analyst in their 10% innovation time over several years. Contents - Official website - Running Locally - With Docker - From source - How it works - Features - Deep linking - Browser support - Node.js support - Security - Contributing - Licencing Official website [CyberChef's official website can be found here][1] - have fun! Running Locally You can run CyberChef with Docker (no toolchain required) or build it from source with Node.js. With Docker Prerequisites - Docker - Docker Desktop must be open and running on your machine Option 1: Build the Docker Image Yourself 1. Build the docker image bash docker build --tag cyberchef --ulimit nofile=10000 . 2. Run the docker container bash docker run -it -p 8080:8080 cyberchef 3. Navigate to http://localhost:8080 in your browser Option 2: Use the pre-built Docker Image If you prefer to skip the build process, you can use the pre-built image bash docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest Just like before, navigate to http://localhost:8080 in your browser. This image is built and published through our GitHub Workflows. From source If you want to develop CyberChef or run it without Docker, you can build it directly with Node.js. Prerequisites - Node.js v24 (see Node.js support) [!NOTE] You can use nvm to manage Node.js versions and use the current development version in this project to avoid conflicts with other projects on your machine. Setup bash git clone https://github.com/gchq/CyberChef.git cd CyberChef npm install Common tasks | Command | Description | | --- | --- | | npm start | Run the development server with live reload at http://localhost:8080. | | npm run build | Produce a production build in the build/prod directory. | | npm test | Run the Node.js and operation test suites. | | npm run testui | Run the browser (UI) tests. | | npm run lint | Check the code against the linting rules. | | npm run newop | Scaffold a new operation via the interactive quickstart script. | If you hit an out-of-memory error while building large recipes, increase Node's heap size with npm run setheapsize. How it works There are four main areas in CyberChef: 1. The input box in the top right, where you can paste, type or drag the text or file you want to operate on. 2. The output box in
Top issues
#1669Hashing recipes use Latin-1 as default encoding17 comments · 2023-12-15#1074Feature request: Desktop Application14 comments · 2020-07-25#181Misc: Mobile UI14 comments · 2017-08-18#875Feature request: remember scroll position after tab change10 comments · 2019-11-06#306Enchancement request : Mail header analyzer8 comments · 2018-05-17#256Operation request: Protocol Data Unit (PDU) encoder/decoder8 comments · 2018-03-23#2697Bug report: PGP Sign operation creates encrypted output, while it should be signed cleartext.7 comments · 2026-07-27#1544Bug report: Install Error on Windows7 comments · 2023-03-30
Discussions
#2904Audio encoding0 comments · 2026-10-28#2861How do I properly throw OperationError?2 comments · 2026-09-30#2839Low overhead Deployment solutions for Cyberchef0 comments · 2026-09-16#2753mrbeast video?1 comments · 2026-09-03#2624Security report follow-up1 comments · 2026-07-01#2599Ability to control output file names?0 comments · 2026-06-25#2546Security report — email follow-up7 comments · 2026-06-10
Latest release
v11.5.0 v11.5.0 2026-09-18See the CHANGELOG and commit messages for details.