Database project of box and inventory sprites from the Pokémon core series games
Go to file
2020-05-16 23:54:16 +02:00
data Add new Marshadow version - move old to gen7 2020-05-16 23:54:16 +02:00
docs Add notes about ribbons 2020-03-27 18:25:27 +01:00
icons Add new Marshadow version - move old to gen7 2020-05-16 23:54:16 +02:00
items Move 'body style' to 'misc', as they're not really items and they didn't have outlines in the items-outlines dir anyway 2020-03-18 23:46:27 +01:00
items-outline Move 'body style' to 'misc', as they're not really items and they didn't have outlines in the items-outlines dir anyway 2020-03-18 23:46:27 +01:00
misc Add Gen 8 versions of the body style icons 2020-03-21 17:47:34 +01:00
pokemon-gen7x Add new Marshadow version - move old to gen7 2020-05-16 23:54:16 +02:00
pokemon-gen8 Add new Marshadow version - move old to gen7 2020-05-16 23:54:16 +02:00
resources/images Update Gen 8 banner images with new shiny Dhelmise sprite 2020-03-25 13:44:56 +01:00
scripts Add list of groups to misc page 2020-03-21 19:05:17 +01:00
.gitignore Also ignore _source for dev files 2018-09-10 19:50:20 +02:00
contributors.md Fix reference to Kaph 2020-02-25 20:59:34 +01:00
license.md New readme containing information about the icons and data format 2019-11-17 19:43:32 +01:00
package.json Bump version to 2.0.6 for PR #68 2020-03-21 19:41:58 +01:00
readme.md Add information about miscellaneous sprites 2020-03-21 20:02:59 +01:00
yarn.lock Bump version to 2.0.3 with fixes for Hitmonlee and Stonjourner (plus add lockfile) 2020-03-16 21:58:30 +01:00

MIT license npm version

PokéSprite

This is a collection of the box sprites of every Pokémon 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:

Pokésprite Gen 8 examples banner

These sprites can be used as individual files, or accessed programmatically using the included sprite database files.

Sprites and metadata

This project contains both Pokémon box sprites and item sprites. For Pokémon, both the old style sprites from Pokémon Sun/Moon (Gen 7) and the new style sprites from Pokémon Sword/Shield (Gen 8) are included. Item sprites are available with Gen 8 style white outlines and without.

Directory Example Size Type Description
/pokemongen7x /pokemon-gen7x/ example 68×56 Pokémon Gen 7 sprites, updated to Gen 8 size and contrast
/pokemongen8 /pokemon-gen8/ example 68×56 Pokémon Gen 8 sprites (plus older Gen 7 sprites where needed)
/items /items/ example 32×32 Items Gen 38 inventory items
/itemsoutline /items-outline/ example 32×32 Items Gen 38 inventory items with Sword/Shield style outline
/misc /misc/ example 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 40×30 Pokémon sprites from Gen 67 are kept for legacy purposes in the /icons directory.

See the Pokémon sprite overview page for a full list of sprites.

Data files

Developers who want to use these sprites programmatically might want to look at the /data/dex.json and /data/items.json files; the former contains a list of all Pokémon and their associated sprites, and the latter links all sprites in the repo to their internal IDs used in-game.

Pokémon sprite list

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": "lizardon",
    "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 jpn_ro item in the name and slug objects refers to the official romanization of the Pokémon's name, rather than a Hepburn transliteration. For example, アーボック is "Arbok", rather than "Ābokku".

The forms object contains a list of all sprites pertaining to a Pokémon. 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 40×30 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. Roselia—only for Gen 7 Pokémon)
has_female A unique female sprite is available (e.g. Unfezant)

†: only applies to non-shiny sprites, as shiny sprites are always unofficial.

Inventory items list

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 ID—these 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 games

See the inventory overview page for a list of items.

Miscellaneous sprites

For all other sprites that are neither Pokémon 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.

Sprite dimensions

Since Gen 8, the Pokémon box sprites have become 68×56 (up from 40×30 in Gen 7) to accommodate larger sprite designs.

Most Pokémon 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 Pokémon 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 Pokémon.

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 overlap—if 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:

Sprite offset example

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 PokéSprite:

  • PKHeX Pokémon save file editor
  • PikaSprite a different interface for PokéSprite sprites
  • DexTool management tools for a Pokémon living Dex, shiny hunting and streaming
  • Spinda Painter proof of concept for displaying accurate Spinda spots on its box sprite
  • Many Google Sheets used by Pokémon traders

If your project uses PokéSprite and you'd like to be added to this list, feel free to open an issue to request it.

Other Pokémon artwork related links:

License

The sprite images are © Nintendo/Creatures Inc./GAME FREAK Inc.

Everything else, and the programming code, is governed by the MIT license.

See the contributors file for further information.