◀ VibeCruiser

tetris js

A free tetris game — play it in your browser, no install. A browser-based Tetris game built with JavaScript. Play with a keyboard, touch controls, or a gamepad, with piece previews, hold, ghost pieces, saved games, and offline support.

by @soliskit · soliskit/tetris-js on GitHubLANG JavaScriptHOSTED ON SOLISKIT.GITHUB.IOUPDATED 15 Oct 2026

Vote and save it — continue with GitHub or sign in free

Made this, @soliskit? See how many people played it → or use email

Controls: Move left / right: a / D or Left / Right arrows

▶ Play full screen ▲ Vote with GitHub ▲ Vote with email

GitHub asks to share your profile and email with us. We never post anything.

Open the live demo Source on GitHub

From the README

Play in your browser, with keyboard, controller, or touch controls.

Start a game, clear lines, and keep your best score on the device. The game uses plain JavaScript. A small Express server serves its static files.

Holding a move key repeats the move (167ms delay, then every 33ms). Holding soft drop drops a row at once, then every 50ms. On the pause screen, New Game asks first with Cancel selected, so pressing Enter twice keeps the game. The hold box can also be reached with Tab, then pressed with Enter or Space.

Any controller with the standard mapping works through the Gamepad API.

Read the full README on GitHub →

Built something like this? Submit your vibe — free account, takes a minute. How listing works.

More like this

More tetris games →

Made this?

Claim it: create a free account, then press CLAIM THIS in the cruiser. Put the badge below in your README or on your demo page first; that link is how we know it's yours.

Your project is on the cruise, loaded live from your own site. Put the badge in your README or on the demo page: it shows your live play count, it links back to this page, and everyone who lands here is one click from running the real thing.

On VibeCruiser

How listing, the badge and claiming work →