Complete Guide to HM Locations in Pokémon Ruby, Sapphire & Emerald

Hidden Machines (HMs) are special moves that can be used both in battle and to overcome obstacles in the overworld. This guide will help you find all eight HMs available in Pokémon Ruby, Sapphire & Emerald.

Advertisement

Continue reading below

HM01 Cut

Location: Rustboro City

How to get: After defeating Roxanne at the Rustboro Gym, head to the Cutter's house (near the Pokémon Center). Talk to the man inside and he'll give you HM01 Cut.

Required Gym Badge: Stone Badge (Rustboro City - Roxanne)

Field Use: Cut down small trees that block your path. Essential for progressing through the main story and accessing many optional areas.

HM02 Fly

Location: Route 119

How to get: On Route 119, you'll encounter your rival. After defeating them in battle, they'll give you HM02 Fly.

Required Gym Badge: Feather Badge (Fortree City - Winona)

Field Use: Instantly fly to any Pokémon Center you've previously visited. An essential HM for quick travel across the Hoenn region.

HM03 Surf

Location: Petalburg City

How to get: After defeating your father Norman at the Petalburg Gym (5th Gym), talk to Wally's father in the house west of the Gym. He'll give you HM03 Surf as a thank you for helping his son.

Required Gym Badge: Balance Badge (Petalburg City - Norman)

Field Use: Travel across water. Essential for accessing roughly half of the Hoenn region and progressing through the main story.

HM04 Strength

Location: Rusturf Tunnel

How to get: After obtaining Rock Smash, go to Rusturf Tunnel (east of Rustboro City). Use Rock Smash to break the rocks blocking the path. Help the man reunite with his girlfriend by clearing the tunnel. He'll give you HM04 Strength as a reward.

Required Gym Badge: Heat Badge (Lavaridge Town - Flannery)

Field Use: Push heavy boulders to solve puzzles and access new areas. Required for several dungeons and caves.

HM05 Flash

Location: Granite Cave

How to get: In Granite Cave (west of Dewford Town), find the hiker on the first basement floor. Talk to him and he'll give you HM05 Flash.

Required Gym Badge: Knuckle Badge (Dewford Town - Brawly)

Field Use: Illuminate dark caves. Very helpful for navigating Granite Cave and Victory Road.

💡 Tip

Flash is useful for lighting up dark caves, but it's not strictly required to complete the game. You can navigate caves without it if you prefer.

HM06 Rock Smash

Location: Mauville City

How to get: In Mauville City, enter the house next to the Poké Mart. Talk to the man inside and he'll give you HM06 Rock Smash.

Required Gym Badge: Dynamo Badge (Mauville City - Wattson)

Field Use: Smash cracked rocks to clear paths and find hidden items. Essential for accessing certain areas and progressing through the story.

HM07 Waterfall

Location: Cave of Origin / Sootopolis City

How to get:

  • Ruby/Sapphire: Found on the ground at B3F of the Cave of Origin after calming Kyogre/Groudon.
  • Emerald: After the Rayquaza event and defeating/capturing Kyogre/Groudon, talk to Steven outside the Cave of Origin in Sootopolis City. He'll give you HM07 Waterfall.

Required Gym Badge: Rain Badge (Sootopolis City - Wallace/Juan)

Field Use: Climb waterfalls to reach higher elevations. Required to access Ever Grande City and challenge the Pokémon League.

HM08 Dive

Location: Mossdeep City

How to get: In Mossdeep City, enter Steven's house (the house with the striped awning in the northwest). Steven will give you HM08 Dive.

Required Gym Badge: Mind Badge (Mossdeep City - Tate & Liza)

Field Use: Dive underwater in deep water areas. Required to access the Seafloor Cavern and progress through the main story.

Advertisement

Continue reading below

Best Pokémon for HM Coverage

Instead of teaching HMs to your main battling team, many players prefer to have dedicated Pokémon that can learn multiple HMs. Here are some excellent options for the Hoenn region. In Hoenn, no non-legendary Pokémon can learn both Fly and Dive, so an optimal setup uses one Fly user and one Dive user to cover all 8 HMs.

🌟 Top Recommendation: Tropius

Where to find: Catch Tropius on Route 119 (before Fortree City). This is the same route where you get the Fly HM!

HMs it can learn (5/8):

  • HM01 Cut
  • HM02 Fly
  • HM04 Strength
  • HM05 Flash
  • HM06 Rock Smash

Missing: Surf, Waterfall, and Dive - Tropius is the best non-legendary Fly user because it learns 5 HMs! Pair it with any water-type below.

💧 Alternative: Lombre (Most Flexible)

Where to find: Catch Lotad on Route 102 (very early game). Evolves into Lombre at Level 14.

HMs it can learn (6/8):

  • HM03 Surf
  • HM04 Strength
  • HM05 Flash
  • HM06 Rock Smash
  • HM07 Waterfall
  • HM08 Dive

Missing: Cut and Fly - This is the only early-game water type that can learn Flash, making it the most flexible option!

🌊 Alternative: Marill

Where to find: Catch Marill on Route 117 (just west of Mauville City). Available before you need most HMs.

HMs it can learn (5/8):

  • HM03 Surf
  • HM04 Strength
  • HM06 Rock Smash
  • HM07 Waterfall
  • HM08 Dive

Missing: Cut, Fly, and Flash - Easy to obtain and covers all water-based HMs!

Advertisement

Continue reading below

🔰 Early Game Helper: Nincada

Where to find: Catch Nincada on Route 116 (near Rustboro City).

HMs it can learn (2/8):

  • HM01 Cut
  • HM05 Flash

Missing: Fly, Surf, Strength, Rock Smash, Waterfall, and Dive - The only early-game Pokémon that can learn both Cut and Flash! Can also learn Dig and Secret Power.

🦝 Utility Option: Linoone

Where to find: Catch Zigzagoon on early routes. Evolves into Linoone at Level 20.

HMs it can learn (4/8):

  • HM01 Cut
  • HM03 Surf
  • HM04 Strength
  • HM06 Rock Smash

Missing: Fly, Flash, Waterfall, and Dive - The Pickup ability can find rare items like Rare Candies and Full Restores while you explore!

Advertisement

Continue reading below

HM Compatibility Chart

#NameTypePowerAccuracyPPLocation
HM1CutNormal type509530
  • Rustboro City (from Cutter near the Pokémon Center)
HM2FlyFlying type709515
  • Route 119 (defeating your rival)
HM3SurfWater type9510015
  • Petalburg City (after defeating the Gym Leader, from Wally's father)
HM4StrengthNormal type8010015
  • Rusturf Tunnel (after breaking the rocks)
HM5FlashElectric type7020
  • Granite Cave (1F)
HM6Rock SmashFighting type2010015
  • Mauville City (man in a house)
HM7WaterfallWater type8010015
  • Ruby/Sapphire: Cave of Origin (B3F)
  • Emerald: Sootopolis City (after defeating Groudon/Kyogre)
HM8DiveWater type6010010
  • Mossdeep City (from Steven)
PokémonCutFlySurfStrengthFlashRock SmashWaterfallDive
VenusaurVenusaur
CharizardCharizard
BlastoiseBlastoise
ButterfreeButterfree
BeedrillBeedrill
PidgeotPidgeot
RaticateRaticate
FearowFearow
ArbokArbok
RaichuRaichu
SandslashSandslash
NidoqueenNidoqueen
NidokingNidoking
ClefableClefable
WigglytuffWigglytuff
VileplumeVileplume
ParasectParasect
VenomothVenomoth
DugtrioDugtrio
PersianPersian
GolduckGolduck
ArcanineArcanine
PoliwrathPoliwrath
AlakazamAlakazam
MachampMachamp
VictreebelVictreebel
TentacruelTentacruel
GolemGolem
RapidashRapidash
SlowbroSlowbro
Farfetch’dFarfetch’d
DodrioDodrio
DewgongDewgong
MukMuk
CloysterCloyster
GengarGengar
HypnoHypno
KinglerKingler
ElectrodeElectrode
ExeggutorExeggutor
MarowakMarowak
HitmonleeHitmonlee
HitmonchanHitmonchan
WeezingWeezing
KangaskhanKangaskhan
SeakingSeaking
StarmieStarmie
Mr. MimeMr. Mime
JynxJynx
PinsirPinsir
TaurosTauros
GyaradosGyarados
LaprasLapras
VaporeonVaporeon
JolteonJolteon
OmastarOmastar
KabutopsKabutops
AerodactylAerodactyl
SnorlaxSnorlax
ArticunoArticuno
ZapdosZapdos
MoltresMoltres
DragoniteDragonite
MewtwoMewtwo
MewMew
MeganiumMeganium
TyphlosionTyphlosion
FeraligatrFeraligatr
FurretFurret
NoctowlNoctowl
LedianLedian
AriadosAriados
CrobatCrobat
LanturnLanturn
XatuXatu
AmpharosAmpharos
BellossomBellossom
AzumarillAzumarill
SudowoodoSudowoodo
PolitoedPolitoed
JumpluffJumpluff
SunfloraSunflora
QuagsireQuagsire
EspeonEspeon
UmbreonUmbreon
SlowkingSlowking
ForretressForretress
SteelixSteelix
GranbullGranbull
QwilfishQwilfish
ScizorScizor
ShuckleShuckle
HeracrossHeracross
MagcargoMagcargo
CorsolaCorsola
OctilleryOctillery
DelibirdDelibird
MantineMantine
SkarmorySkarmory
HoundoomHoundoom
KingdraKingdra
DonphanDonphan
HitmontopHitmontop
MiltankMiltank
BlisseyBlissey
RaikouRaikou
EnteiEntei
SuicuneSuicune
TyranitarTyranitar
LugiaLugia
Ho-OhHo-Oh
CelebiCelebi
SceptileSceptile
BlazikenBlaziken
SwampertSwampert
MightyenaMightyena
LinooneLinoone
BeautiflyBeautifly
DustoxDustox
LudicoloLudicolo
ShiftryShiftry
SwellowSwellow
PelipperPelipper
GardevoirGardevoir
MasquerainMasquerain
BreloomBreloom
SlakingSlaking
NinjaskNinjask
ShedinjaShedinja
ExploudExploud
HariyamaHariyama
DelcattyDelcatty
SableyeSableye
MawileMawile
AggronAggron
MedichamMedicham
ManectricManectric
PluslePlusle
MinunMinun
VolbeatVolbeat
IllumiseIllumise
SwalotSwalot
SharpedoSharpedo
WailordWailord
CameruptCamerupt
TorkoalTorkoal
GrumpigGrumpig
SpindaSpinda
FlygonFlygon
CacturneCacturne
AltariaAltaria
ZangooseZangoose
SeviperSeviper
LunatoneLunatone
SolrockSolrock
WhiscashWhiscash
CrawdauntCrawdaunt
ClaydolClaydol
CradilyCradily
ArmaldoArmaldo
MiloticMilotic
CastformCastform
KecleonKecleon
BanetteBanette
TropiusTropius
ChimechoChimecho
AbsolAbsol
GlalieGlalie
WalreinWalrein
HuntailHuntail
GorebyssGorebyss
RelicanthRelicanth
LuvdiscLuvdisc
SalamenceSalamence
MetagrossMetagross
RegirockRegirock
RegiceRegice
RegisteelRegisteel
LatiasLatias
LatiosLatios
KyogreKyogre
GroudonGroudon
RayquazaRayquaza
JirachiJirachi
DeoxysDeoxys

Advertisement

Continue reading below

More Ruby/Sapphire/Emerald Guides