REFRACT / a ZX Spectrum Next Emulator for web browser

Frame
Budget
Loaded
ROMstub
Audiooff
Padnone
Build 4.3© 2026 Software Amusements — All Rights Reserved

Refract WrapWrap your own ZX Spectrum Next software into a single self-contained page — free for free releases and demos.

Notice: Whilst this FREE web based platform agnostic ZX Spectrum Next emulator is in development, we have mostly tested a small sample set of FREE public domain games and demos on it. Untested 3rd party software may malfunction or probably not work altogether. Other than the FREE bundled games included, please ensure you own any 3rd party commercial games and apps before attempting to run them on this emulator. Please support the developers that made them so they can make even more for your enjoyment. You may also need to load a system ROM for some 3rd party software to function correctly.

Tape loading is still under development. The .tzx format is recommended when simulating loading from tape files. The file formats .z80 .sna .snx and .nex are best suited for instant loading.

External files are disabled — bundled titles only
drop a .zip, snapshot, .tap, .tzx, .z80, .sna, .rfs, .rom, or a game folder
REFRACT
FREE Bundled Software

Free to play, included with the copyright owner's permission. Commercial paid redistribution of this emulator or bundled software is not permitted.
Check out the Refract Wrap button at the top of the page to wrap your own software titles for ZX Spectrum Next.

Layers — tap to mute
ULA
Layer 2
Tilemap
Sprites
Machine
Keyboard
The Spectrum matrix is mapped directly. Shift is CAPS SHIFT, Ctrl or Alt is SYMBOL SHIFT, Backspace is CAPS+0. Arrow keys drive the Kempston joystick on port $DF and Ctrl fires; 58 still work as the Sinclair cursor keys.

Load file accepts .nex .snx .sna .z80 .tap .tzx .rom .rfs and zips. .z80/.sna restore a snapshot. .tap/.tzx attach a tape (EAR on $FE). Prefer .tzx for anything with a custom loader — a .tap carries no timings. and instant-load standard CODE blocks when no real ROM is present.

Snapshots that call ROM routines need a real ROM. Use Load system ROM, or drop a .rom on the screen — 16K fills every slot, 32K or 64K fills them in order. The built-in stub only covers the IM 1 interrupt handler and the esxDOS API.

If a game streams assets from the SD card, use Mount game folder first, then load the snapshot. The folder is read in your browser and served to the program's file calls — game/level1.bin opens exactly as it would on hardware. Nothing is uploaded.
Log Output