Guides
Core Mechanics
Game Features
Collectibles & Special Pokémon
Progression & Walkthrough
Competitive Strategy
Advanced Strategy
Search for Pokémon, moves, items, locations, and abilities
Hidden Grottoes are special locations where you can find rare Pokémon with Hidden Abilities and valuable items. This guide covers all grotto locations & their contents!

Hidden Grottoes are special locations scattered throughout Johto and Kanto where you can find rare Pokémon with their Hidden Abilities and valuable items. Polished Crystal features 22 Hidden Grottoes, each with unique Pokémon encounters. Some locations will have Pokémon whose level will scale to your badges. You can check the individual tables below to see what would apply!
These grottoes were inspired by the Hidden Grotto feature from Pokémon Black 2 and White 2 (Generation V), but adapted to fit the Pokémon Polished Crystal experience and carefully curated encounter lists!
Hidden Grottoes are one of the most important optional systems in Polished Crystal because they provide early and repeatable access to Hidden Abilities, which can dramatically change how certain Pokémon perform in battle.
For players building optimized teams, Hidden Grottoes offer:
Ignoring Hidden Grottoes often means missing out on some of the strongest utility and synergy options in the game.
To get the most value from Hidden Grottoes:
Because grottoes reset daily, you are also able to change the clock to farm for specific natures or IVs if desired.
LEVEL_FROM_BADGES + N (where N varies by grotto)While Pokémon encounters are the least common outcome, the guaranteed Pokémon in your first grotto ensures early exposure to the system. Over time, Hidden Items make up a significant portion of grotto value, especially for progression and post-game preparation.
When a grotto resets, it randomly determines what appears:
All Pokémon encountered in Hidden Grottoes have their Hidden Ability. This is the primary reason to hunt in grottoes-many powerful Hidden Abilities are otherwise very difficult to obtain.
Examples of impactful Hidden Abilities include:
Note: Every pokemon will have a defined hidden ability, but for some Pokémon it'll be less viable than one of their other ones, or it'll be the same as their other ones (but still appear as Ability H in the in-game stat screen)
Grotto Pokémon levels match your current badge tier plus any grotto-specific modifier. The base badge levels are:

| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| mareep | common | 37.5% | Lv. 5 | |
| wooper | common | 37.5% | Lv. 5 | |
| ekans(johto) | uncommon | 20% | Lv. 5 | |
| gastly | rare | 5% | Lv. 5 |


| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| snubbull | common | 37.5% | Lv. 15 | |
| jigglypuff | common | 37.5% | Lv. 15 | |
| yanma | uncommon | 20% | Lv. 15 | |
| ditto | rare | 5% | Lv. 15 |



| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| rattata(alolan) | common | 37.5% | Badge +0 | |
| bellsprout | common | 37.5% | Badge +0 | |
| noctowl | uncommon | 20% | Badge +0 | |
| misdreavus | rare | 5% | Badge +0 |

| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| aipom | common | 37.5% | Badge +3 | |
| weepinbell | common | 37.5% | Badge +3 | |
| raticate | uncommon | 20% | Badge +3 | |
| arbok(johto) | rare | 5% | Badge +3 |

| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| grimer(alolan) | common | 37.5% | Badge +3 | |
| haunter | common | 37.5% | Badge +3 | |
| golbat | uncommon | 20% | Badge +3 | |
| venomoth | rare | 5% | Badge +3 |



| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| farfetchd(galarian) | common | 37.5% | Badge +0 | |
| cubone | common | 37.5% | Badge +0 | |
| machop | uncommon | 20% | Badge +0 | |
| larvitar | rare | 5% | Badge +0 |


| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| graveler | common | 37.5% | Badge +1 | |
| growlithe(hisuian) | common | 37.5% | Badge +1 | |
| skarmory | uncommon | 20% | Badge +1 | |
| dunsparce | rare | 5% | Badge +1 |

| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| swinub | common | 37.5% | Badge +4 | |
| mrmime(galarian) | common | 37.5% | Badge +4 | |
| delibird | uncommon | 20% | Badge +4 | |
| sneasel | rare | 5% | Badge +4 |







| Pokémon | Rarity | Rate | Level | |
|---|---|---|---|---|
| vulpix(alolan) | common | 37.5% | Badge +5 | |
| mrmime(galarian) | common | 37.5% | Badge +5 | |
| growlithe(hisuian) | uncommon | 20% | Badge +5 | |
| sneasel(hisuian) | rare | 5% | Badge +5 |
Each grotto contains exactly 4 Pokémon species with the following distribution:
When a grotto spawns a Pokémon (20% base chance), one of these four species is selected based on these probabilities.
Some particularly valuable Hidden Ability Pokémon available in grottoes:
Immunity (Poison immunity):
Multiscale (Reduces damage at full HP):
Magic Bounce (Reflects status moves):
Regenerator (Restores 1/3 HP when switching out):
Drizzle (Summons rain):
When a grotto spawns a visible item, it selects from a weighted probability table including:
When a grotto spawns a hidden item (requires Itemfinder), it selects from:
Each grotto has one unique "rare item" that can appear as part of its visible item pool. These include evolution stones and other valuable items specific to that location.
Optimize your grotto hunting by planning an efficient route:
Hidden Grotto Pokémon have random natures. For competitive Pokémon:
Note: Grotto Pokémon are explicitly excluded from shiny generation in the ROM code. Hidden Grotto encounters cannot be shiny.
All information in this guide is verified against the Polished Crystal ROM source code:
polishedcrystal/constants/script_constants.asm lines 241-263polishedcrystal/data/events/hidden_grottoes/grottoes.asm lines 1-165polishedcrystal/engine/events/hidden_grottoes.asm lines 15-93polishedcrystal/engine/events/hidden_grottoes.asm lines 36-44polishedcrystal/data/events/hidden_grottoes/probabilities.asm lines 1-6polishedcrystal/data/events/hidden_grottoes/probabilities.asm lines 8-30polishedcrystal/engine/events/hidden_grottoes.asm lines 114-124polishedcrystal/engine/overworld/time.asm lines 129-141polishedcrystal/data/events/engine_flags.asm line 151polishedcrystal/engine/pokemon/move_mon.asm lines 236-238polishedcrystal/engine/pokemon/move_mon.asm lines 240-242polishedcrystal/data/events/hidden_grottoes/grottoes.asm (LEVEL_FROM_BADGES usage)polishedcrystal/data/wild/badge_base_levels.asm lines 3-18polishedcrystal/engine/events/hidden_grottoes.asm lines 31-32polishedcrystal/engine/pokemon/move_mon.asm lines 267-268polishedcrystal/engine/events/hidden_grottoes.asm lines 126-129scripts/extract-grottoes.ts lines 1-363public/api/grottoes.json