Skip to main content

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
Pokemon Showdown simulates singles, doubles, and triples battles across all generations (Gen 1 through Gen 9).

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

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

1

Choose Your Path

Are you building with the API, hosting a server, or contributing?
2

Follow the Guide

Check out our Quickstart for step-by-step instructions
3

Explore the Docs

Pokemon Showdown is maintained by Smogon University and powered by an active open-source community.

Build docs developers (and LLMs) love