Skip to content

Whisingdilli71/webemu

Repository files navigation

WebEmu

License: MIT Hack Club Netlify Nostalgist.js libretro

Browser-based retro emulator. Drop a ROM and play. No installs, no accounts, no plugins.

Live Demo: webemu.whising.space

Features

  • 10 systems across two emulation backends
  • Personal game collection with Google and email sign-in
  • Folder import — scan an entire ROM folder at once
  • Automatic cover art via libretro-thumbnails with manual rescan and custom image upload
  • Save states and load states
  • Rewind and fast forward
  • Volume control via Web Audio API
  • Dark mode and 4 additional themes
  • Drag and drop ROM loading or URL input
  • Controller support out of the box
  • Vanilla JS and CSS — no frameworks

Systems

System Backend Core
NES / Famicom Nostalgist.js fceumm
Super NES / Super Famicom Nostalgist.js snes9x
Game Boy / GBC / GBA Nostalgist.js mGBA
Game & Watch Nostalgist.js gw
Genesis / Mega Drive Nostalgist.js genesis_plus_gx
Game Gear Nostalgist.js genesis_plus_gx
PlayStation EmulatorJS pcsx_rearmed
PSP EmulatorJS PPSSPP
Nintendo 64 EmulatorJS mupen64plus
Nintendo DS EmulatorJS melonDS

How it works

Nostalgist.js wraps libretro cores compiled to WebAssembly via Emscripten for the classic systems. EmulatorJS handles the heavier ones — PlayStation, PSP, N64, and DS — loaded dynamically at launch. Cover art is fetched from the libretro-thumbnails CDN on jsDelivr. ROMs in the collection are stored in IndexedDB locally on your device and never leave it. Game metadata syncs to Firebase Firestore per account.

Getting Started

git clone https://github.com/Whisingdilli71/webemu.git
cd webemu
open index.html

No build step. Open index.html in any modern browser.

For PSP and N64, SharedArrayBuffer headers are required. Run locally with:

npx serve . --config serve.json

With a serve.json containing COOP and COEP headers. On Netlify, add a netlify.toml with the same headers. I have provided the one I have used. And in serve.json, use the same headers IF you want to use locally.

Star the repo

If you found this useful, a star helps a lot.

Star WebEmu on GitHub

About

A Website retro console emulator, no installs needed, no signups needed, just play in your browser!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors