This is a collection of the box sprites of every Pokmon from the main game series, and the sprites for every collectable and bag item. Also included are custom shiny versions of the box sprites that are not available in-game.
Some examples of the sprites:
These sprites can be used as individual files, or accessed programmatically using the included sprite database files.
This project contains both Pokmon box sprites and item sprites. For Pokmon, both the old style sprites from PokmonSun/Moon (Gen 7) and the new style sprites from PokmonSword/Shield (Gen 8), including the DLC, are included, as well as a number of unofficial sprites for PokmonLegends: Arceus. Item sprites are available with Gen 8 style white outlines and without.
Directory | Example | Size | Type | Description |
---|---|---|---|---|
/pokemongen7x |
![]() |
6856 | Pokmon | Gen 7 sprites, updated to Gen 8 size and contrast |
/pokemongen8 |
![]() |
6856 | Pokmon | Gen 8 sprites (plus older Gen 7 sprites where needed) |
/items |
![]() |
3232 | Items | Gen 38 inventory items |
/itemsoutline |
![]() |
3232 | Items | Gen 38 inventory items with Sword/Shield style outline |
/misc |
![]() |
Varies | Misc. | Miscellaneous sprites from multiple gens |
The item and miscellaneous sprites are separated by type in subdirectories (e.g. "berry", "evo-item", "valuable-item", "ribbon", etc).
Previous generations of games (Gen 12 and Gen 34) had their own collections of sprites, but these are not included in this project. The original 4030 Pokmon sprites from Gen 67 are kept for legacy purposes in the /icons
directory.
See the Pokmon sprite overview page for a full list of sprites.
Developers who want to use these sprites programmatically might want to look at the /data/pokemon.json
and /data/item-map.json
files; the former contains a list of all Pokmon and their associated sprites, and the latter links all sprites in the repo to their internal IDs used in-game.
Each entry in the dex.json
file contains the following data (example):
// ...
{
"idx": "006",
"name": {
"eng": "Charizard",
"jpn": "",
"jpn_ro": "Lizardon"
},
"slug": {
"eng": "charizard",
"jpn": "riza-don",
"jpn_ro": "lizardon"
},
"gen-7": {
"forms": {
"$": {
"has_female": false,
"has_right": false
},
"mega-x": {
"has_female": false,
"has_right": false
},
"mega-y": {
"has_female": false,
"has_right": false
}
}
},
"gen-8": {
"forms": {
"$": {
"is_prev_gen_icon": false
},
"gmax": {
"is_prev_gen_icon": false
},
"mega-x": {
"is_prev_gen_icon": true
},
"mega-y": {
"is_prev_gen_icon": true
}
}
}
},
// ...
The name
and slug
objects contain the Pokmon's name in various languages, including a romanized version of the Japanese name. The jpn_ro
item contains GAME FREAK's official rmaji names that are mainly used in merchandise. For example, for (Wartortle), the jpn
slug is "kame-ru", while the jpn_ro
slug is "kameil".
The forms
object contains a list of all spritespertaining to a Pokmon. It always contains at least a "$"
(dollar sign) value, which means the regular form or default sprite. Each form object can contain the following details:
Key | Meaning |
---|---|
is_alias_of |
This form uses the sprite of another form and does not have its own image |
is_unofficial_icon |
This sprite is not a verbatim original and has been edited in some way (e.g. Pumpkaboo and Gourgeist) |
is_unofficial_legacy_icon |
As above, but only for the smaller legacy 4030 sprites (only used for Melmetal) |
is_prev_gen_icon |
This sprite is actually from an earlier generation |
has_right |
A unique right-facing sprite is available (e.g. Roseliaonly for Gen 7 Pokmon) |
has_female |
This Pokmon has visible gender differences (e.g. Unfezant) |
has_unofficial_female_icon |
The female version of this Pokmon's sprite was custom made (e.g. Pikachu) |
: only applies to non-shiny sprites, as shiny sprites are always unofficial.
There are a few cases where a Pokmon's shiny design changed in an update. For example, Minior's shiny form was originally gray but became colorized with the release of Pokmon HOME. This project always uses the latest designs, with the old ones renamed to their gen of origin.
Several files are available for processing the sprites for inventory items:
/data/item-map.json
a 1:1 map of item IDs and sprite files, e.g. "item_0017": "medicine/potion"
/data/item-unlinked.json
all inventory sprites not linked to an item IDthese are mostly duplicates (e.g. the Metal Coat sprite is in both "hold-item" and "evo-item", and so one goes unused) and legacy files/data/item-legacy.json
a list of old item sprites from previous gen gamesSee the inventory overview page for a list of items.
For all other sprites that are neither Pokmon nor inventory items, see /data/misc.json
. Notably, the ribbons can be found there. Each group of miscellaneous sprites has its own unique data format. See the miscellaneous overview page for all included images.
Since Gen 8, the Pokmon box sprites have become 6856 (up from 4030 in Gen 7) to accommodate larger sprite designs.
Most Pokmon did not get a new sprite as of Gen 8, meaning their old sprite was padded to the new size. Sprites were padded from below, with one extra pixel of space on the bottom (see left).
Since most Pokmon take up a very small amount of pixels of the allotted space, they'll look far more spaced apart than in Gen 7 if they're displayed adjacent to each other. This effect is especially noticeable for not-fully-evolved Pokmon.
To somewhat mitigate this, the sprites can be made to overlap each other. In nearly all cases, only the empty space around the sprite will overlapif there are multiple large sprites next to each other (like several Gigantamax forms) the sprites themselves will overlap, but only a little.
The recommended overlap is -24px left and -16px top, which is a compromise between bringing the smaller sprites closer together and not letting the larger sprites overlap. Here's an example of what that looks like:
With this setup, the larger sprites are quite close together but not uncomfortably so, and the smaller sprites are not too far away from each other. There is some small overlap for the largest sprites (the special Gigantamax forms), but not excessively so, and in most cases it should be rare to see multiple Gigantamax forms next to one another since it's not a permanent form.
For a better example of what many adjacent sprites look like with this setup, see the banner image at the top of the readme, which also uses the same amount of spacing.
Projects using PokSprite:
If your project uses PokSprite and you'd like to be added to this list, feel free to open an issue to request it.
Other Pokmon artwork related links:
The sprite images are Nintendo/Creatures Inc./GAME FREAK Inc.
Everything else, and the programming code, is governed by the MIT license.
This project couldn't have been made without the help of numerous contributions from the community. See the contributors file for further information and full credits.