puNES is an open source NES emulator for Windows and Linux

Nov 29, 2020
Updated • Dec 15, 2020
Games, Software, Windows software

A PC is my choice when it comes to gaming, mostly because I play a lot of strategy games. But I've owned a few consoles, the PS4 being my 2nd favorite platform currently.

puNES is an open source NES emulator for Windows and Linux

Nintendo's products weren't/aren't available in my Country, so as a kid I didn't have access to its cool consoles. That was the case, until I came across a Famiclone (Famicom clone) at a local store.

My family gifted me one, and I got to play some games such as Ice Climber, Super Mario Bros, Excite Bike, etc. Someone forgot to tell me about games like Zelda, Castlevania, Final Fantasy, and other popular games of the era.

If you want to experience the nostalgia of such classics, emulators are going to be your best friend. Today, I'll be discussing a popular one, called puNES. As the name suggests, this is an NES emulator  and it is available for Windows and Linux.

puNES TV static screen

The application is portable, extract and run puNES64.exe and you will be greeted by a good-old static TV screen (also called Noise). Click on the File menu to load a game ROM. puNES supports the following formats: 7-Zip, ZIP, RAR, NES, UNF, UNIF, FDS, NSF, NSFE, and FM2. Select your game and it should load instantly.

puNES emulator supported formats

The controls are fairly simple, click on Settings > Input.

puNES emulator input settings

Select controller port 1 and switch to the keyboard tab to view the control layout and to customize them.

puNES emulator keyboard controls

  • Up, Down, Left, Right - Arrow keys
  • Select - Z
  • Start - X
  • A - A
  • B- B
  • Turbo A- W
  • Turbo B - Q

This is all you need to know to start playing the games. Click on the two arrow icons in the top left corner of puNES' main screen to rotate the view. You can save your games at anytime using save states. Use the floppy icon to save your game to the selected slot, there are 10 slots available per game. The icon with the upwards arrow loads the selected save state. This can come in handy when a game doesn't have a built-in save option or tough games.

puNES emulator rewind

The playback buttons in the top right corner of the screen is like a time-machine, because it can be used to rewind the game. So if you die in a level and want to continue from an earlier point, you can. It's pretty cool, and doesn't rely on save states.

puNES fullscreen mode Road Fighter

To switch to full-screen mode, hit Alt + Enter. Want to take a quick screenshot? Use the hotkey Alt + X, the screenshot is saved in the PNG format and the image does not contain any UI elements of the program.

Speaking of which, you can switch to the GUI-less mode using Alt + G for a distraction free gaming experience. Speed up the game using Fast forward, the shortcut for which is the Tab key.

puNES automatically pauses the game when you switch to a different program.

Go to Settings > General to set the game mode (auto by default, supports NTSC, PAL), fast-forward speed, rewind minutes, GUI language.

puNES emulator video settings

The Video settings are useful to define the scaling, and has toggles for Vsync, FPS (frame rate per second).

puNES emulator video filters and shaders

The filters tab has various filters and shaders to choose from. Here's what Mario looks by default vs Hq4x.

Set the sample rate, channels, etc, from the Audio tab. puNES also supports Cheats if you want to use those.

Even though it is a portable software, the emulator stores its settings and screenshots in the Documents folder. puNES is an open source emulator. It is written in QT5.

Mesen is my favorite NES emulator, but it is no longer supported by the developer (the last version still works fine).


For Windows

software image
Author Rating
5 based on 12 votes
Software Name
Operating System
Windows, Linux
Software Category
Landing Page

Tutorials & Tips

Previous Post: «
Next Post: «


  1. FHorse said on November 29, 2020 at 8:50 pm

    Hi, if you want to make puNES completely portable, rename the executable by adding a “_p” after the name, for example from “punes.exe” to “punes_p.exe” and it will use the directory where the exe is present as home directory for savestaes, configurations etc. Another small tip, it is also compatible with retroarch shaders

  2. Croatoan said on November 29, 2020 at 4:27 pm

    Raspberry Pi (with Retro Pie) is really good for retro gaming.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.