Skip to content
SPECIFICTION
Get listed

PSP.js

github.com

Web
Visit github.com
Spec score 6.6 #8 of 9 in PSP Emulators

What it is

PSP.js is a browser-based PlayStation Portable emulator written in TypeScript and offered free as open-source software. Its high-level emulation implements PSP system calls, so it does not need a BIOS ROM. It loads ISO and PBP games, including KIRK-encrypted EBOOTs, and emulates the MIPS Allegrex CPU and VFPU. Graphics are rendered with WebGL; the project also describes decoding ATRAC3+ audio and MPEG/PSMF video. Game data is kept in browser storage, and keyboard controls can be configured in the app. The project remains a work in progress: it reports that some commercial games reach menus and render, and points users to a per-game compatibility list. The graphics worker requires SharedArrayBuffer, so a plain static file server is not sufficient. For local development, the documented setup uses Git submodules, npm install and npm run dev, with a server that sends COOP/COEP headers. Documentation covers the user guide, architecture, subsystems and HLE modules.

Spec sheet

Product
PSP.js is a work-in-progress PlayStation Portable emulator written in TypeScript that runs in a browser using high-level emulation.Read 4 Oct 2026 · github.com
Audio and video
The project says it decodes ATRAC3+ audio and MPEG/PSMF video.Read 4 Oct 2026 · github.com
Browser APIs
The implementation uses WebGL, AudioWorklet, and WebCodecs for graphics, audio, and video paths.Read 4 Oct 2026 · github.com
Browser requirement
The README says the graphics worker requires SharedArrayBuffer and that a plain static file server will not work.Read 4 Oct 2026 · github.com
Compatibility information
The repository links to a per-game compatibility list for status details.Read 4 Oct 2026 · github.com
Compatibility status
The project says several commercial games boot to menus and render, and directs users to a per-game compatibility list.Read 4 Oct 2026 · github.com
CPU and graphics
It runs the MIPS Allegrex CPU and VFPU and renders the PSP Graphics Engine using WebGL.Read 4 Oct 2026 · github.com
Development status
The project describes itself as a work in progress; several commercial games boot to menus and render.Read 4 Oct 2026 · github.com
Documentation
The README says project documentation covers the user guide, architecture, and subsystem and HLE module references.Read 4 Oct 2026 · github.com
Emulation
It runs the MIPS Allegrex CPU and VFPU and renders graphics through WebGL.Read 4 Oct 2026 · github.com
Game formats
It loads ISO and PBP games, including KIRK-encrypted EBOOTs.Read 4 Oct 2026 · github.com
Input
Keyboard controls are available in the in-app input settings.Read 4 Oct 2026 · github.com
No BIOS required
Its high-level emulation reimplements PSP system calls in TypeScript, so it does not require a BIOS ROM.Read 4 Oct 2026 · github.com
Run locally
The repository’s quick start uses Git submodules, npm install, and npm run dev, then opens a local URL in a browser.Read 4 Oct 2026 · github.com
Saved data
Game data is saved in browser storage.Read 4 Oct 2026 · github.com
Server requirement
The documented development server sends COOP/COEP headers for SharedArrayBuffer; the README says a plain static file server will not work for the GE worker.Read 4 Oct 2026 · github.com
Testing
The repository reports that its pspautotests CPU and kernel suite passes.Read 4 Oct 2026 · github.com
Use
The README directs users to open the browser app, choose a game, and load an ISO or PBP; keyboard controls are configured in the app.Read 4 Oct 2026 · github.com
Work in progress
The repository describes PSP.js as a work in progress.Read 4 Oct 2026 · github.com

Strong points and limits

Strong points

  • No BIOS ROM is required.
  • Loads ISO and PBP games.
  • Game data is saved in browser storage.
  • Free and open source.

Limits

  • The project is a work in progress.
  • A plain static file server will not work.
  • Compatibility varies by game.

Who it suits

PSP.js suits people who want to run PSP games in a browser and are comfortable checking compatibility by game. Local developers need a server configured for SharedArrayBuffer.

Verdict

PSP.js specifies its game formats, emulation components, storage and browser-server requirement. Its work-in-progress status and per-game compatibility list are important considerations before relying on it.

Where Specifiction places it

Alternatives to PSP.jsAll alternatives →