PokePaste formatting howto

A paste can contain any number of Pokemon (typically 6), separated by one or more blank lines. A Pokemon is represented by a block of text like this one:

Talonflame @ Flyinium Z
Ability: Gale Wings
EVs: 252 Atk / 4 Def / 252 Spe
Jolly Nature
- Brave Bird
- Flare Blitz
- Swords Dance
- Roost

Let's break this down line-by-line.

The first line is both the most important, and the most complex. For starters, it includes the Pokemon's name:


This is a perfectly valid first line - it would be a Talonflame with no item, no nickname, and unspecified gender. We can add an item using an @ sign:

Talonflame @ Flyinium Z

So far, this is pretty generic. What if we want to give it a nickname?

Smogonbirb (Talonflame) @ Flyinium Z

The nickname goes first, followed by the actual name in brackets. Pretty straightforward.

Finally, let's suppose Attract Chansey has become a thing, and so we want our birb to be female:

Smogonbirb (Talonflame) (F) @ Flyinium Z

You can mix and match any combination of these - a nickname and no item is fine, as is a gender with no nickname or item.

Next, we can specify stats - Ability, EVs, IVs, Nature, even shinyness.

EVs and IVs both take the same format:

EVs: X HP / X Atk / X Def / X SpA / X SpD / X Spe
IVs: X HP / X Atk / X Def / X SpA / X SpD / X Spe

You don't need to specify every field - unspecified EVs are assumed to be 0, and unspecified IVs are assumed to be 31. Many sets don't have an IVs line at all, because perfect IVs are OK most of the time.

The rest of the stats lines are pretty straightforward:

Shiny: Yes / No
Level: 1-100
Happiness: 0-255

Again, all of these lines are optional:

Finally, up to 4 moveslots are specified. They look like this:

- Volt Tackle

The space between the hyphen and the move is optional.

Sometimes there is more than one option for a moveslot. PokePaste will only highlight the first move, but the convention is to write it like this:

- Protect / Detect

When using Hidden Power (and sometimes Natural Gift), it is conventional to specify the type for clarity, using either the old style:

- Hidden Power Fire

or the new style (preferred):

- Hidden Power [Fire]

And that's all there is to it!

For the technically inclined, you can see how PokePaste highlights pastes (Python, minimal regex-based parsing), or how Pokemon Showdown stores team data (JavaScript, full parsing and validation).