Pokemon Showdown
A competitive Pokémon battle simulator with real-time multiplayer battles across all generations
What is Pokemon Showdown?
Pokemon Showdown is many things:- A battle simulator — Test your team and battle strategies in real-time against players worldwide
- A JavaScript library — Simulate Pokémon battles and access Pokédex data programmatically
- Command-line tools — Automate battle simulations and team validation from your terminal
- A game server — Host your own Pokémon Showdown community with custom formats and mods
- Open source — Free to use, modify, and contribute under the MIT license
Key Features
Real-Time Battles
Battle against players worldwide with instant matchmaking and ladder rankings
All Generations
Play battles from Gen 1 through Gen 9 with authentic mechanics for each era
Battle Simulator API
Integrate battle simulation into your own applications with our Node.js API
Team Builder
Build, validate, and export teams with comprehensive format support
Custom Formats
Create custom battle formats and game modes for your community
Self-Hostable
Run your own Pokemon Showdown server with full control and customization
Quick Links
Get Started
Set up Pokemon Showdown in minutes
Host a Server
Run your own battle server
API Docs
Integrate the simulator API
Community & Support
GitHub Repository
View source code and contribute on GitHub
Smogon Forums
Join the discussion on Smogon
Contributing Guide
Learn how to contribute to Pokemon Showdown
Architecture
Understand how Pokemon Showdown works
Getting Started
Follow the Guide
Check out our Quickstart for step-by-step instructions
Explore the Docs
Browse the API Reference and Protocol docs
Pokemon Showdown is maintained by Smogon University and powered by an active open-source community.
