Hold. Release. Find your flow.
Hold A or B or Up for more height; release to descend. A quick press makes a low hop. Clear Zoras and reach high pickups. Only A, B or Up triggers touch jumps.

loading…tap to continue to pikachu’s beach
Preparing the ocean soundtrack…

Change direction between complete flips. A triple with a reversal earns 500 radness.
Shoreline skip
| RANK | SURFER | RADNESS | TIME BONUS | TOTAL |
|---|
Your name belongs here. Finish a run to set the first record.
The original’s secrets, carefully researched.
The sequel’s waves, made for your thumbs.
Hold A or B or Up for more height; release to descend. A quick press makes a low hop. Clear Zoras and reach high pickups. Only A, B or Up triggers touch jumps.

| Trick | Same way | Mixed |
|---|---|---|
| Kickflip / heelflip | 100 | 100 boosted |
| One flip | 50 | — |
| Two flips | 150 | 180 |
| Three flips | 350 | 500 |
Avoid Zoras, collect red hearts, and grow to six. Level your board for every landing. Marill alone lands safely at any angle.

Collect gold bullet power-ups to carry up to five charges. Tap the center stone Pikachu to spend one charge on nine seconds of Bullet Time: your rise and fall slow to 21% speed as the camera eases to 1.65× zoom. Body flips, kickflips and heelflips keep their normal rotation speed, giving you time to chain more tricks. The timer warns you during the final three seconds. Power-ups arrive at varied intervals, sometimes in two- or three-item bursts; after Bullet Time ends, wait 22 seconds before using it again.
Inspired by The Matrix, directed by sisters Lana and Lilly Wachowski. John Gaeta and Manex Visual Effects created its iconic effect with an array of cameras and computer processing. Read about Bullet Time ↗
Press X for a kickflip or Y for a heelflip: the board rolls in opposite directions beneath your surfer. Each completed board trick earns 100 points on a clean landing. A battery boost makes the board turn twice. Use D-pad Right for backflips and Left for front flips, and land upright to bank your tricks.
Your guide to the stone controller, the surf and every collectible.

| Control | What it does |
|---|---|
| 1A2B | Jump. Hold either button to keep rising, up to the maximum jump height. Release to stop rising and descend. |
| 3X | Kickflip. Press while airborne to roll the board beneath the surfer. |
| 4Y | Heelflip. Press while airborne to roll the board in the opposite direction from X. |
| 5Center Pikachu | Bullet Time. Spend one gold bullet charge when the effect is ready. The carving glows ocean blue when you have a charge. |
| 6Triangle | Surf menu. Pause an active run, then resume, start a new run or open How to ride. |
| 7D-pad Up | Jump. The same hold-and-release control as A and B. |
| 8D-pad Left | Front flip. Hold to rotate the surfer and board forward together. Release to stop rotating. |
| 9D-pad Right | Backflip. Hold to rotate the surfer and board backward together. Release to stop rotating. |
| 10D-pad Down | Kickflip. The same board trick as X. |
Keyboard: A / B / Space / ↑ jump; X / ↓ kickflip; Y heelflip; ← front flip; → backflip; P / Escape pause; R restart. Enter or Space activates a focused button. Multiple fingers work together: one can hold a jump while another performs a trick. Tapping the scenery never jumps.
A quick press produces a low hop; a longer hold reaches more height. Let go when you want to descend. Releasing one jump control while another is still held keeps the jump held. Release and press again for the next jump—holding through a landing does not automatically jump again. Waves can also launch you into the air. Hold a jump control during a wave launch to take control of the remaining height.
Front flips and backflips rotate your whole surfer. Kickflips and heelflips rotate only the board, with one full roll normally or two during a battery boost. Each board trick is timed to catch before landing, including when you release your jump early. A press too close to the water may be ignored because there is not enough time to finish. The opposite trick cannot interrupt a roll already in progress.
Land upright to bank points. A badly tilted landing causes a wipeout and costs a heart; landing within 45° of completely upside down causes a faint. Marill has safe landings and invincibility while surfing as Marill.
| Completed trick | Points on a clean landing |
|---|---|
| Kickflip or heelflip | 100 per completed board trick; a boosted double roll is still 100. |
| One body flip | 50 |
| Two body flips | 150 in one direction; 180 when you mix front and back flips. |
| Three body flips | 350 in one direction; 500 with mixed directions. |
Board-trick points add to your body-flip score. Normally you can complete one board trick per jump. During Bullet Time, press X or Y again after each completed roll to chain more tricks. Each extra body flip beyond the first three in a Bullet Time jump adds another 100 points. Wipeouts do not bank the pending trick score.

A gold-and-yellow cartridge with a brown tip, surrounded by an ocean-blue glow. Adds one charge, up to five. Appears at varied intervals, sometimes in bursts of two or three. Collecting it stores the effect; the center button activates it.
A bright green battery with a dark lightning bolt. Doubles travel and body-flip speed for 40 seconds, and makes each kickflip or heelflip rotate the board twice. Appears at varied intervals, sometimes in short bursts; another battery refreshes the boost. Every battery collected also adds 5,000 points.
A red cap with white spots and a pale stem. Adds 20% travel speed for 60 seconds. Appears at varied intervals, sometimes in short bursts. Collecting another refreshes the timer. Every mushroom collected also adds 5,000 points. Combined with a battery, travel reaches 2.4× normal speed.
A small red pixel heart. Restores one missing heart. If your health is already full, it adds one heart of capacity, up to six. You normally start with three hearts. Hearts appear at varied intervals, sometimes in short bursts.
A pale glass jug filled with red liquid. Applies three heart pickups: it heals missing health first, then expands full health toward the six-heart limit. Appears at varied intervals, sometimes in short bursts.
Three lime recycling arrows on a dark circular token. Changes you into a different surfer for 20 seconds, then returns you to your original character. Appears at varied intervals, sometimes in short bursts.
Timers count active play, so pausing freezes them. Occasional pickup showers can add extra hearts, batteries and mushrooms between their usual appearances. Pickups float at different heights—use a low hop or a held jump to reach them.
Zoras are green or blue creatures rising from the water with orange fins. Jump over them. A three-Zora huddle may throw a Magikarp after a visible wind-up; avoid both the huddle and the flying fish. Contact costs a heart, followed by a short protection window. At zero hearts your surfer faints. The ordinary swimming Pokémon are scenery.
Classic ends when you reach shore. Infinite surf continues until you finish or faint; use Bank run to save a successful score. Tournament has five increasingly difficult rounds, with power-up timers and health carrying between rounds. Radness comes from tricks; the remaining time bonus adds to a successful Classic or Tournament score. The time bonus reaching zero does not end the run.
Marill rotates twice as quickly, lands safely and is invincible while active. Marill’s Midnight Lagoon has 20% faster travel and double jump airtime. Records and permanent level or mini-game unlocks are saved on this device; Marill’s character unlock lasts for the current visit. Use Field notes to back up records before clearing browser data.
The game, art and sound effects run locally. The soundtrack switches automatically: your selected ocean song during the intro, then the requested Lavender Town remix continuously on the main screen, while surfing, and in the secret mini-game until you turn music off. If the intro video becomes unavailable, two Ecco the Dolphin soundtracks are tried in order. If the menu video becomes unavailable, two alternate Lavender Town remixes are tried in order. You can switch music off below the game. The soundtrack requires internet; if your browser blocks automatic audio, tap Start soundtrack. High scores stay in this browser. Clearing website data removes records and the downloaded cache; iOS can also reclaim browser storage. No account, ROM, or online connection is needed for gameplay after the initial download.
Concept and design credit: toddalwaves. Independent surfing implementation, with character artwork and frame animation from Pokémon Crystal. All four surfer sprites, twelve animated water-friend sprites and all three legendary bird intro sprites, including their animation scripts and normal palettes are extracted from the supplied Pokémon Crystal v1.1 cartridge data, using the pret/pokecrystal symbol map. The River Zora enemies are independently drawn canvas pixel art based on the supplied visual references; Zoras belong to The Legend of Zelda and are not Crystal ROM sprites. The fainted display poses the original Crystal front sprite. Ecco’s swim, dive, jump and acceleration poses are cut from the supplied original dolphin sprite sheet. He swims beneath the legendary bird formation in the intro finale. No ROM is distributed. Pokémon characters belong to their respective owners; this project is not affiliated with Nintendo, Game Freak or The Pokémon Company.
Surf illustration: Jed Henry · Day at the Beach, shown from the Scene Prints listing. Character illustrations: official Pokémon artwork distributed through the PokeAPI sprites archive. Credit does not imply these works are freely licensed.
Research: Yellow minigame disassembly · VaporBoy · WasmBoy · Bulbapedia. Research checked October 25, 2026.
VaporBoy’s PWA architecture was studied; this app uses its own JavaScript game engine and does not include VaporBoy or WasmBoy code.