The Uxn ecosystem is a little personal computing stack, created to host ours tools and games, programmable in its own unique assembly language.

It was designed with an implementation-first mindset with a focus on creating portable graphical applications, the distribution of Uxn projects is akin to sharing game roms for any classic console emulator.

To learn more, read about the uxn design, see the VM specs, or the IO specs.

Desktop Versions

A screen of a Linux desktop with various open Uxn applications, like a calculator, a clock and Donsol

To run Uxn programs, you’ll need an emulator for your operating system. Below are links to download the latest versions of the Uxn emulators for major systems, bundled with a few roms. You can find the source code, in the repository. Alternatively, you can find emulators for more obscure systems, or try and you implement your own!


Once equipped with an emulator, you can pick among these toys, games and tools, write your own programs or try our own:

uxn guide

The same Uxn rom can be used on a variety of desktop computers, on tiny electronics, modern handhelds, and even in your, ugh, browser.

A screen of a Windows desktop with various open Uxn applications, like a calculator, a clock and a text editor

Our general cross-platform desktop emulator requires SDL2, alternatively, you could download the plain Win32 or X11 versions, but we will not cover these in this guide. If you don’t have SDL2, here’s how to get it:

sudo pacman -Sy sdl2             # Arch
sudo apt install libsdl2-dev     # Ubuntu
sudo xbps-install SDL2-devel     # Void Linux
brew install sdl2                # OSX
doas pkg_add sdl2                # openBSD


A screen of a Linux desktop with the Uxn emulator launcher opened, the launcher shows a list of Uxn roms

Double-click on uxnemu to launch it, on some Linux distribution, it might not be possible to do so, if for some reason uxnemu is not be clickable, navigate to the downloaded files in the terminal and launch it from there. To launch the ROM from the terminal, point the emulator to the target .rom file:

bin/uxnemu path/to/example.rom

There are many ways to launch ROMs:

  • With the launcher program, see preview image above
  • By dragging .rom files onto the emulator window
  • Via the terminal

Emulator Controls

toggle zoom

toggle debugger

take screenshot

load launcher.rom






Other Systems

A photo of a pink Nintendo DS with the card game Donsol on the screen

Uxn can also run on classic consoles and on old electronics. Currently, there are ports(not all are complete) for GBA, Nintendo DS, Playdate, DOS, PS Vita, Raspberri Pi Pico, Teletype, ESP32, Amiga, iOS, STM32, IBM PC, and many more.

See the full list of emulators.

Need a hand?

The following resources are a good place to start:

You can also find us in #uxn on

a screenshot of Noodle, a sketching tool. On the canvas there is a pixelated image featuring Tima from the movie Metropolis

Read More