Skip to content
OWASP Juice Shop: Probably the most modern and sophisticated insecure web application
JavaScript TypeScript HTML CSS Shell Dockerfile
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dependabot Add Dependabot configuration Dec 29, 2019
.github Use prefix emoji in issues titles and remove tickboxes Nov 28, 2019
config Reduce size of unnecessarily large product images Nov 22, 2019
data Merge pull request #1272 from bkimminich/l10n_develop Dec 22, 2019
docs Update PDF export of for v9.1.0 Oct 14, 2019
encryptionkeys use a 16byte IV Feb 4, 2018
frontend Merge pull request #1272 from bkimminich/l10n_develop Dec 22, 2019
ftp Update incident-support.kdbx Oct 23, 2019
hooks Fix double-dash symbol in Docker build hook Dec 12, 2017
i18n Prevent accidental i18n overwrites during runtime Sep 3, 2019
lib Clean up failed cherry-picking fallout Dec 13, 2019
models Prevent normal registration of "Ephemeral Accountant" user Aug 26, 2019
routes Add "National Orange Juice Day" as new campaign Dec 19, 2019
screenshots Update screenshots to show 9.x UI Jul 31, 2019
test Disable wait for Angular around all browser scripts Dec 17, 2019
uploads/complaints Add upload/complaints folder to packaged archives Nov 26, 2018
vagrant Remove shake-logger from Vagrant setup script Aug 27, 2019
views Add password strength advisor to user registration Nov 4, 2019
.codeclimate.yml Update to Codeclimate v2 format and add duplication check Dec 5, 2019
.dockerignore Move smoke test into root folder to avoid permission trouble Aug 27, 2019
.gitignore Remove unnecessarily ignored file Nov 6, 2019
.gitlab-ci.yml Remove Python installation script May 13, 2019
.travis.yml Remove allowed failure of e2e stage Oct 28, 2019 Update code of conduct Dec 5, 2018 Add DCO to contribution guidelines Oct 11, 2019
Dockerfile Bump to v9.3.1 Dec 22, 2019
Gruntfile.js Add missing line breaks between checksum logs Oct 9, 2019 Sort translators alphabetically Nov 6, 2019
LICENSE Update copyright for 2020 Dec 19, 2019 Remove broken and misleadingly labeled LeanPub badges Jan 5, 2020 Move GOD talk down into 2019 section Dec 16, 2019 Update to latest supported version Dec 2, 2019
app.js Add check for dependencies on startup Mar 28, 2019
app.json Replace URLs with HTTPS variants Oct 17, 2019
crowdin.yaml Use default email as used by GitHub Oct 11, 2019
ctf.key Externalize key for flag HMACs Jan 27, 2017
docker-compose.test.yml Use retry on cURL instead of waiting up front Aug 29, 2019
package.json Bump to v9.3.1 Dec 22, 2019
protractor.conf.js Update all frontend dependencies Dec 13, 2019
server.js Define i18n autoReload config option as boolean Nov 15, 2019
swagger.yml Reformatted YAML files Mar 14, 2018

Juice Shop Logo OWASP Juice Shop OWASP Flagship GitHub release Twitter Follow Subreddit subscribers

Build Status Docker Cloud Build Status Test Coverage Maintainability Code Climate technical debt CII Best Practices GitHub stars

The most trustworthy online shop out there. (@dschadow) — The best juice shop on the whole internet! (@shehackspurple) — Actually the most bug-free vulnerable application in existence! (@vanderaj) — First you 😂😂then you 😢 (@kramse) — But this doesn't have anything to do with juice. (@coderPatros' wife)

OWASP Juice Shop is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos, CTFs and as a guinea pig for security tools! Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along with many other security flaws found in real-world applications!

Juice Shop Screenshot Slideshow

For a detailed introduction, full list of features and architecture overview please visit the official project page:


You can find some less common installation variations in the Running OWASP Juice Shop documentation.

Deploy on Heroku (free ($0/month) dyno)

  1. Sign up to Heroku and log in to your account
  2. Click the button below and follow the instructions


This is the quickest way to get a running instance of Juice Shop! If you have forked this repository, the deploy button will automatically pick up your fork for deployment! As long as you do not perform any DDoS attacks you are free to use any tools or scripts to hack your Juice Shop instance on Heroku!

From Sources

GitHub repo size

  1. Install node.js
  2. Run git clone (or clone your own fork of the repository)
  3. Go into the cloned folder with cd juice-shop
  4. Run npm install (only has to be done before first start or when you change the source code)
  5. Run npm start
  6. Browse to http://localhost:3000

Packaged Distributions

GitHub release SourceForge SourceForge

  1. Install a 64bit node.js on your Windows, MacOS or Linux machine
  2. Download juice-shop-<version>_<node-version>_<os> (or .tgz) attached to latest release
  3. Unpack and cd into the unpacked folder
  4. Run npm start
  5. Browse to http://localhost:3000

Each packaged distribution includes some binaries for sqlite3 and libxmljs bound to the OS and node.js version which npm install was executed on.

Docker Container

Docker Automated build Docker Pulls Docker Stars

  1. Install Docker
  2. Run docker pull bkimminich/juice-shop
  3. Run docker run --rm -p 3000:3000 bkimminich/juice-shop
  4. Browse to http://localhost:3000 (on macOS and Windows browse to if you are using docker-machine instead of the native docker installation)


  1. Install Vagrant and Virtualbox
  2. Run git clone (or clone your own fork of the repository)
  3. Run cd vagrant && vagrant up
  4. Browse to

Amazon EC2 Instance

  1. In the EC2 sidenav select Instances and click Launch Instance
  2. In Step 1: Choose an Amazon Machine Image (AMI) choose an Amazon Linux AMI or Amazon Linux 2 AMI
  3. In Step 3: Configure Instance Details unfold Advanced Details and copy the script below into User Data
  4. In Step 6: Configure Security Group add a Rule that opens port 80 for HTTP
  5. Launch your instance
  6. Browse to your instance's public DNS
yum update -y
yum install -y docker
service docker start
docker pull bkimminich/juice-shop
docker run -d -p 80:3000 bkimminich/juice-shop

Azure Container Instance

  1. Open and login (via az login) to your Azure CLI or login to the Azure Portal, open the CloudShell and then choose Bash (not PowerShell).
  2. Create a resource group by running az group create --name <group name> --location <location name, e.g. "centralus">
  3. Create a new container by running az container create --resource-group <group name> --name <container name> --image bkimminich/juice-shop --dns-name-label <dns name label> --ports 3000 --ip-address public
  4. Your container will be available at http://<dns name label>.<location name>

Node.js version compatibility

GitHub package.json dynamic GitHub package.json dynamic

OWASP Juice Shop officially supports the following versions of node.js in line as close as possible with the official node.js LTS schedule. Docker images and packaged distributions are offered accordingly.

node.js Supported Packaged Distributions Docker image tags
13.x ✔️ Windows Linux MacOS
12.x ✔️ Windows Linux MacOS latest (current official master release), snapshot (preview from develop branch)
11.x (✔️)
10.x ✔️ Windows Linux MacOS


Feel free to have a look at the latest version of OWASP Juice Shop:

This is a deployment-test and sneak-peek instance only! You are not supposed to use this instance for your own hacking endeavours! No guaranteed uptime! Guaranteed stern looks if you break it!


Via a YAML configuration file in /config, the OWASP Juice Shop can be customized in its content and look & feel.

For detailed instructions and examples please refer to our Customization documentation.


If you want to run OWASP Juice Shop as a Capture-The-Flag event, we recommend you set it up along with a CTFd or FBCTF server conveniently using the official juice-shop-ctf-cli tool.

For step-by-step instructions and examples please refer to the Hosting a CTF event chapter of our companion guide ebook.

Troubleshooting Gitter

If you need help with the application setup please check our our existing Troubleshooting guide. If this does not solve your issue please post your specific problem or question in the Gitter Chat where community members can best try to help you.

🛑 Please avoid opening GitHub issues for support requests or questions!


Pwning OWASP Juice Shop Write Goodreads Review

This is the official companion guide to the OWASP Juice Shop. It will give you a complete overview of the vulnerabilities found in the application including hints how to spot and exploit them. In the appendix you will even find complete step-by-step solutions to every challenge. Pwning OWASP Juice Shop is published under CC BY-NC-ND 4.0 and is available for free in PDF, Kindle and ePub format. You can also browse the full content online!

Pwning OWASP Juice Shop Cover

Slide Decks

Contributing GitHub contributors JavaScript Style Guide Crowdin Bountysource Activity GitHub issues by-label GitHub issues by-label

We are always happy to get new contributors on board! Please check to learn how to contribute to our codebase or the translation into different languages!


Did you write a blog post, magazine article or do a podcast about or mentioning OWASP Juice Shop? Or maybe you held or joined a conference talk or meetup session, a hacking workshop or public training where this project was mentioned?

Add it to our ever-growing list of by forking and opening a Pull Request!


  • On and you can get some swag (Shirts, Hoodies, Mugs) with the official OWASP Juice Shop logo
  • On you can get variants of the OWASP Juice Shop logo as single stickers to decorate your laptop with. They can also print magnets, iron-ons, sticker sheets and temporary tattoos.

The most honorable way to get some stickers is to contribute to the project by fixing an issue, finding a serious bug or submitting a good idea for a new challenge!

We're also happy to supply you with stickers if you organize a meetup or conference talk where you use or talk about or hack the OWASP Juice Shop! Just contact the mailing list or the project leader to discuss your plans! !


PayPal PayPal

PayPal donations via above button go to the OWASP Foundations and are earmarked for "Juice Shop". This is the preferred and most convenient way to support the project.

Credit Card (through RegOnline)

OWASP hosts a donation form on RegOnline. Refer to the Credit card donation step-by-step guide for help with filling out the donation form correctly.


The OWASP Juice Shop core project team are:

For a list of all contributors to the OWASP Juice Shop please visit our

Licensing license

This program is free software: you can redistribute it and/or modify it under the terms of the MIT license. OWASP Juice Shop and any contributions are Copyright © by Bjoern Kimminich 2014-2020.

Juice Shop Logo

You can’t perform that action at this time.