Supported Partial Not supported Browsers: Chrome 126+ · Firefox 128+ · Safari 18+ · Edge 126+

Graphics & Rendering

GPU-accelerated 2D/3D rendering — the backbone of every browser game.

WebGPU

Next-gen GPU API. Compute shaders, modern rendering pipeline, ML inference on the GPU. Successor to WebGL.

Chrome Firefox Safari Edge

Build: 3D games, particle systems, GPU-driven physics

WebGL 2

OpenGL ES 3.0 in the browser. Stable, universal. Powers Three.js, Babylon.js, PixiJS, and most browser games.

Chrome Firefox Safari Edge

Build: 3D games, racing, flight sims, FPS

Canvas 2D

Immediate-mode 2D drawing. Fast, simple, everywhere. The engine behind Snake, Pong, Asteroids, and platformers.

Chrome Firefox Safari Edge

Build: Arcade games, puzzle games, card games

OffscreenCanvas

Render canvas in a Web Worker — no jank on the main thread. Critical for complex games and physics simulations.

Chrome Firefox Safari Edge

Build: Heavy rendering, physics engines, procedural generation

View Transitions

Animated page transitions with a single CSS rule. Smooth transitions between game menus and screens.

Chrome Firefox Safari Edge

Build: Polished menu systems, level select screens

Input & Controllers

Gamepads, touch, keyboard, pointer lock — every input method a game needs.

Gamepad API

Xbox, PlayStation, and generic controllers. Vibration, analog sticks, buttons. Plug in and play.

Chrome Firefox Safari Edge

Build: Console-quality controls for racing, fighting, platformers

Pointer Lock

Hide the cursor and get raw mouse movement. Essential for first-person and mouse-look cameras.

Chrome Firefox Safari Edge

Build: FPS, flight sims, 3D exploration

Touch Events

Multi-touch support. Pinch, swipe, rotate — mobile-native input for mobile-first games.

Chrome Firefox Safari Edge

Build: Mobile arcade, puzzle, card games

Vibration API

Haptic feedback on mobile devices. Buzz on impact, pulse on score, rumble on explosion.

Chrome Firefox Safari Edge

Build: Tactile feedback for mobile games

Accelerometer & Gyroscope

Motion and orientation sensors. Tilt-to-steer, device-as-controller, motion-controlled gameplay.

Chrome Firefox Safari Edge

Build: Tilt racing, marble maze, balance games

Audio

Spatial audio, synthesis, and real-time effects — the sound engine games deserve.

Web Audio API

Professional audio graph. Spatial 3D audio, real-time effects, synthesis, mixing. No plugins needed.

Chrome Firefox Safari Edge

Build: Sound effects, spatial audio, music, procedural audio

AudioWorklet

Custom audio processing on a dedicated thread. Sample-level DSP without blocking the game loop.

Chrome Firefox Safari Edge

Build: Custom synthesizers, real-time audio effects, voice chat

Speech Synthesis

Text-to-speech with multiple voices and languages. Narration, accessibility, NPC dialogue.

Chrome Firefox Safari Edge

Build: Narrated adventures, accessible games, voice feedback

Performance & Compute

Native-speed code in the browser. Multi-threading, SIMD, and compiled languages.

WebAssembly (WASM)

Run C, C++, Rust, Go at near-native speed. Port existing game engines to the browser. Unity and Godot use WASM.

Chrome Firefox Safari Edge

Build: Physics engines, game engine ports, emulators

Web Workers

Background threads. Run AI, pathfinding, physics, and procedural generation without blocking the game loop.

Chrome Firefox Safari Edge

Build: AI opponents, world generation, pathfinding

SharedArrayBuffer

Shared memory between workers. Enables true multi-threading with atomics for game engines.

Chrome Firefox Safari Edge

Build: Multi-threaded game engines, real-time physics

WASM SIMD

Single Instruction, Multiple Data. Process 4+ values in one CPU cycle. Critical for physics, collision, and particle systems.

Chrome Firefox Safari Edge

Build: Particle systems, collision detection, matrix math

requestAnimationFrame

V-synced game loop. 60fps (or 120fps) with automatic throttling when the tab is hidden.

Chrome Firefox Safari Edge

Build: Every game that renders frames

Networking

Real-time connections for multiplayer, leaderboards, and live updates.

WebSocket

Full-duplex persistent connection. Turn-based multiplayer, chat, live game state sync.

Chrome Firefox Safari Edge

Build: Turn-based multiplayer, chat, lobbies

WebRTC

Peer-to-peer data channels. Low-latency multiplayer without a server in the middle.

Chrome Firefox Safari Edge

Build: Real-time multiplayer, P2P game state, voice chat

WebTransport

HTTP/3-based transport. Unreliable datagrams for action games — lower latency than WebSocket.

Chrome Firefox Safari Edge

Build: Fast-paced multiplayer, real-time action games

Storage

Save games, cache assets, and work offline — all client-side.

IndexedDB

Structured client-side database. Save game state, player profiles, level progress. No size limit (quota-managed).

Chrome Firefox Safari Edge

Build: Save systems, offline levels, asset caching

Origin Private File System

High-performance file storage in a sandboxed file system. Cache large assets like textures and audio.

Chrome Firefox Safari Edge

Build: Asset pipelines, replay storage, user-generated content

Cache API + Service Worker

Cache game assets for instant load and offline play. The foundation of installable PWA games.

Chrome Firefox Safari Edge

Build: Offline games, instant-loading PWAs

Platform Integration

OS-level features that make browser games feel native.

Fullscreen API

Go fullscreen. Essential for immersive games. One click, total focus.

Chrome Firefox Safari Edge

Build: Any game that benefits from immersion

Screen Wake Lock

Prevent the screen from dimming or locking during gameplay.

Chrome Firefox Safari Edge

Build: Mobile games, idle games, long sessions

Web Share API

Native share sheet. Share scores, screenshots, and replays to any app.

Chrome Firefox Safari Edge

Build: Score sharing, replay sharing, social features

Push Notifications

Real push notifications — even when the game isn't open. Daily challenges, turn reminders, leaderboard updates.

Chrome Firefox Safari Edge

Build: Daily challenges, turn-based notifications

Clipboard API

Copy and paste. Share puzzle codes, seed values, or game state as text.

Chrome Firefox Safari Edge

Build: Wordle-style result sharing, level codes

What You Can Build

These are real game categories that are fully possible with today's browser APIs — no native code, no app store.

2D Arcade

Snake, Pac-Man, Breakout, Asteroids, Frogger. Canvas 2D + requestAnimationFrame + Web Audio.

3D Games

Racing, bowling, billiards, flight sims. WebGL 2 + Three.js or Babylon.js + physics engines.

Puzzle & Board

Chess, checkers, 2048, Sudoku, Wordle, Minesweeper. DOM or Canvas + touch + save state.

Card Games

Solitaire, Memory, Blackjack, War. CSS transforms + drag & drop + smooth animations.

Multiplayer

Turn-based (chess, checkers) or real-time (racing, shooters). WebSocket + WebRTC + Durable Objects.

Retro & Emulation

Run classic console games via WASM-compiled emulators. Game Boy, NES, SNES — in a tab.

What Browsers Still Can't Do

Some things genuinely require native. Be honest about the gaps.

CapabilityStatusNotes
Background execution (always-on)LimitedService workers wake on push/sync, but can't run a game loop in the background
Raw GPU accessPartialWebGPU is powerful but not Vulkan/Metal-level. Sufficient for 99% of browser games
Low-level networking (raw UDP)NoWebTransport unreliable datagrams cover most real-time game needs
Native controller rumble (advanced)PartialBasic vibration works; dual-motor HD rumble is not exposed
VR/AR (immersive)PartialWebXR exists but device/browser support is still fragmented
Multi-window (split-screen)NoCan't open multiple synced game windows on one screen reliably

Start Building

The browser is the most powerful game platform ever created. Every API on this page is available to FreeGameStore games out of the box. Start from a template, publish in minutes.

fgs init my-game --template canvas
cd my-game && pnpm install && pnpm dev

Get started →