EVERYTHING XIAOMI
Get listed

PSP.js

PSP.js is a free, open-source PlayStation Portable emulator for the web, written in TypeScript.

Place
#7 of 9
Score
5.4
PSP.js's website

What PSP.js is

PSP.js is a free, open-source PlayStation Portable emulator for the web, written in TypeScript. Its high-level emulation recreates PSP system calls in TypeScript, so it does not require a BIOS ROM. It loads ISO and PBP games, including KIRK-encrypted EBOOTs, and runs the MIPS Allegrex CPU and VFPU. Graphics are rendered through WebGL; the project also describes decoding ATRAC3+ audio and MPEG/PSMF video. Game data is saved in browser storage, and keyboard controls can be configured in the app. The project remains a work in progress: it reports that several commercial games boot to menus and render, and links to a per-game compatibility list. Running the graphics worker requires SharedArrayBuffer, so a plain static file server will not work. The documented local setup uses Git submodules, npm install, and npm run dev, with a development server that sends the required COOP/COEP headers. Project documentation covers the user guide, architecture, and subsystem and HLE module references.

Good

  • Free and open source.
  • Does not require a BIOS ROM.
  • Loads ISO and PBP games.
  • Saves game data in browser storage.
  • Keyboard controls are configurable in the app.

Watch out

  • Project is a work in progress.
  • Several commercial games only reach menus and render.
  • Graphics worker requires SharedArrayBuffer.
  • A plain static file server will not work.

Who it suits

PSP.js suits people looking for a free browser-based PSP emulator who are comfortable with work-in-progress compatibility. It may also interest developers who want access to the project's technical documentation.

Verdict

PSP.js offers browser-based PSP emulation without a BIOS ROM, but compatibility remains in progress. Check the per-game compatibility list and account for the SharedArrayBuffer server requirement.

The facts

Each one read from PSP.js's own pages, with the date it was checked.

What it does

Audio and video
The project says it decodes ATRAC3+ audio and MPEG/PSMF video.checked 4 Oct 2026
Compatibility information
The repository links to a per-game compatibility list for status details.checked 4 Oct 2026
Compatibility status
The project says several commercial games boot to menus and render, and directs users to a per-game compatibility list.checked 4 Oct 2026
CPU and graphics
It runs the MIPS Allegrex CPU and VFPU and renders the PSP Graphics Engine using WebGL.checked 4 Oct 2026
Development status
The project describes itself as a work in progress; several commercial games boot to menus and render.checked 4 Oct 2026
Documentation
The README says project documentation covers the user guide, architecture, and subsystem and HLE module references.checked 4 Oct 2026
Emulation
It runs the MIPS Allegrex CPU and VFPU and renders graphics through WebGL.checked 4 Oct 2026
Game formats
It loads ISO and PBP games, including KIRK-encrypted EBOOTs.checked 4 Oct 2026
Input
Keyboard controls are available in the in-app input settings.checked 4 Oct 2026
Product
PSP.js is a work-in-progress PlayStation Portable emulator written in TypeScript that runs in a browser using high-level emulation.checked 4 Oct 2026
Run locally
The repository’s quick start uses Git submodules, npm install, and npm run dev, then opens a local URL in a browser.checked 4 Oct 2026
Saved data
Game data is saved in browser storage.checked 4 Oct 2026
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.checked 4 Oct 2026
Testing
The repository reports that its pspautotests CPU and kernel suite passes.checked 4 Oct 2026
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.checked 4 Oct 2026
Work in progress
The repository describes PSP.js as a work in progress.checked 4 Oct 2026

Where it runs

Browser APIs
The implementation uses WebGL, AudioWorklet, and WebCodecs for graphics, audio, and video paths.checked 4 Oct 2026
Browser requirement
The README says the graphics worker requires SharedArrayBuffer and that a plain static file server will not work.checked 4 Oct 2026
No BIOS required
Its high-level emulation reimplements PSP system calls in TypeScript, so it does not require a BIOS ROM.checked 4 Oct 2026

Alternatives to PSP.js

All alternatives
  1. 1PPSSPP logo

    PPSSPP

    Free planOpen sourceAndroidiOSAPILinux
    8.6$4.99 one-time
  2. 2N-EMU logo

    N-EMU

    Free planOpen sourceAndroidiOS
    8.0Free plan
  3. 3GamePod Emu logo

    GamePod Emu

    Free planAndroidiOS
    6.9Free plan
  4. 4

    Manic EMU

    AndroidiOSWebLinux
    6.5
  5. 5

    JPCSP

    Free planLinuxmacOSWindows
    6.0Free plan
  6. 6

    PSP Emulator Web

    WebSelf-hosted
    5.6