Play Retro Games Online - Web Emulator No Download
TinyEmulator is a WebAssembly-based retro game online emulator covering 11 platforms and 5000+ classic games, launches in 3 seconds, supports multiplayer and cloud saves, completely free.
Why Play Retro Games Online with TinyEmulator
Instant play, zero download. WASM emulator core launches within 3 seconds, skipping the hassle of downloading emulators and installing ROMs. Click and play.
Full platform coverage. Supports NES, SNES, GBA, Genesis, Arcade, N64, NDS and 11 platforms with 5000+ classic games across all major retro platforms.
Multiplayer online. WebRTC-based online multiplayer, create room and share QR code, friends join by scanning, latency under 100ms.
Cloud saves, cross-device. 8 save state slots and auto SRAM saves, sync to cloud after login, switch devices without restarting.
Mobile friendly. Web version auto-shows virtual gamepad, supports iOS/Android touch, native apps available including HarmonyOS.
Completely free. All games are free, no registration required, login only for cloud save sync, no in-app purchases or ads.
Supported Retro Game Platforms
H5 Emulator Embed Integration
TinyEmulator supports iframe embedding into any webpage, with URL parameter protocol and JavaScript Helper, suitable for blogs, communities, and game sites.
Quick Embed (iframe)
Simplest embedding via URL params: core (platform), rom (ROM HTTPS URL), gameName.
<iframe
src="https://xxyx.net/app/retro/index.html?core=nes&rom=https://example.com/smb.nes&gameName=Super%20Mario"
width="640" height="480" frameborder="0" allowfullscreen
allow="autoplay; gamepad; fullscreen; cross-origin-isolated"
style="border:none;width:100%;max-width:640px;aspect-ratio:4/3;"
></iframe>URL Parameter Protocol
Two formats supported: EmulatorJS-compatible (simple) and Props-encoded (advanced).
# EmulatorJS compatible
https://xxyx.net/app/retro/index.html?core=nes&rom=<URL>&gameName=<name>
# Props encoded (patches, multiplayer, BIOS)
https://xxyx.net/app/retro/index.html?props=<base64>
# Create multiplayer room
?core=nes&rom=<URL>&create=true&single=false
# Join room
?session=<roomId>&tunnel=<wssUrl>&core=<coreVersion>JavaScript Embed Helper
Utility class for dynamic game loading, responsive embed, multiplayer room creation.
class TinyEmulatorEmbed {
static PLAYER_URL = 'https://xxyx.net/app/retro/index.html';
static buildUrl(platform, romUrl, gameName) {
const params = new URLSearchParams({ core: platform, rom: romUrl });
if (gameName) params.set('gameName', gameName);
return `${this.PLAYER_URL}?${params}`;
}
static embed(container, platform, romUrl, gameName, opts = {}) {
const url = this.buildUrl(platform, romUrl, gameName);
const wrapper = document.createElement('div');
wrapper.style.cssText = `position:relative;width:100%;aspect-ratio:${opts.aspectRatio||'4/3'};background:#000`;
const iframe = document.createElement('iframe');
iframe.src = url; iframe.allowFullscreen = true;
iframe.allow = 'autoplay;gamepad;fullscreen;cross-origin-isolated';
iframe.style.cssText = 'position:absolute;top:0;left:0;width:100%;height:100%;border:none';
wrapper.appendChild(iframe);
container.appendChild(wrapper);
return iframe;
}
}Supported Platforms & Cores
Covers 11 retro platforms with corresponding core parameter:
nes -> fceumm (NES/Famicom, .nes .fds)
snes -> snes9x (Super Nintendo, .smc .sfc)
gba -> mgba (GBA, .gba)
gb -> mgba (Game Boy, .gb)
gbc -> mgba (Game Boy Color, .gbc)
genesis -> genesis (Sega Genesis, .md .smd .bin)
arcade -> fbneo (Arcade, .zip with BIOS)
n64 -> parallel_n64 (Nintendo 64, .n64 .v64 .z64)
nds -> desmume (Nintendo DS, .nds)ROM Hosting Requirements
TinyEmulator loads ROMs via URL, ROM files must meet:
1. HTTPS protocol (no http:// except localhost)
2. CORS enabled (Access-Control-Allow-Origin)
3. Direct download link (URL points to ROM, not HTML)
4. URL length <= 2048 chars
# Nginx config example
location /roms/ {
root /var/www/roms;
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS";
}Start Playing Now
Click below to enter the game lobby, choose a platform and game, start playing within 3 seconds.
FAQ
How to play retro games online? Visit https://xxyx.net and select a game. Web page loads WASM emulator core within 3 seconds, no download required.
What browsers support retro game online play? Chrome 90+, Safari 14+, Edge 90+, Firefox 88+. Requires WebAssembly enabled, no plugins needed.
How does retro game multiplayer work? Create room to generate QR code, friends scan to join, WebRTC-based with latency under 100ms, supports 2-player.
Will online retro games lag? No. WASM core runs stable 60FPS, loads within 3 seconds, runs smoothly on mainstream devices.
What games does the web emulator support? Supports NES, SNES, GBA, GB, GBC, Genesis, Arcade, N64, NDS - 11 platforms with 5000+ games.
How are game saves stored? 8 save state slots and auto SRAM saves, stored in browser locally, sync to cloud after login.
Can I play retro games on mobile? Yes. Web version supports iOS/Android touch virtual gamepad, native apps available including HarmonyOS.
Is playing retro games online free? Completely free. All games free, no registration required, login only for cloud save sync.