Android Video Game Emulators

By Alejandro Rodriguez. Last revised December 18, 2018.


About emulation on Android

Nearly every video game emulator for Android is very easy to use. The UI and user flows are standard with all of them. It’s not necessary for me to put together tutorials for each one. If you’re accustomed to using emulators on Windows, then you will feel right at home on Android.

However, things do get a little tricky when you want to do more than just play your favorite games. In this tutorial, I will walk you through important points pertaining to video game emulation on Android.

Which emulator to use?

In the Google Play Store, there are many video game emulators. Searching for, say, a Super Nintendo emulator brings up at least ten of them. Most of the emulators have ads or require you to pay.

My emulators page saves you the trouble of looking for emulators by listing all the best ones for each system. Although these days the selection of good, free emulators are running dry. You'll need to rely on RetroArch, the multi-system emulator, to satisfy most of your emulation needs.

The only emulators I recommend paying for are DraStic DS (NDS) and ePSXe (PS1) because they're genuinely the best (they go for $4-5 US). If you like standalone emulators and you don't like RetroArch, the “.emu” series of emulators are an excellent, high quality option (they go for $3-5 US). The .emu emulators are intuitive, feature-rich, and small in size.

Single-system vs. multi-system emulators

Some of the many systems RetroArch supports Some of the many systems RetroArch supports

Android offers many emulators dedicated to a single video game system, but it also has a few emulators that support multiple video game systems. Which one should you use? Well, I recommend using both. Specifically, the multi-system emulator I recommend is RetroArch.

For example, if the SNES emulator isn't performing to your liking, RetroArch gives you the option of multiple cores (multiple emulators) to choose from for each system. But RetroArch is not very user-friendly, so the single-system emulators are better in that regard. Try both and see which one you like the best.

One arena where RetroArch beats single-system emulators is with tablets and Play Store supported Chromebooks. Single-system emulators are designed for smartphones; they don't fare well on a large screen. RetroArch is designed for everything, so that'll be your go-to emulator on those devices.

Extracting RAR & 7Z files

ROM websites like to distribute their ROMs & ISOs compressed in ZIP, RAR, or 7Z files. The best free app for uncompressing these files is ZArchiver. Although keep in mind that emulators support running ROMs from their ZIP file. It's RAR & 7Z files that you need to decompress in order to run them with emulators.

The Dig front-end

Screenshots of Dig Screenshots of Dig

The Dig emulator front-end is a really handy app! Let's say you already set up all of your emulators and ROMs on your Android device. It might be a bit tedious having to fuss through a collection of emulators and look for the ROM you want to play every single time. Dig optimizes your emulation experience by consolidating all of your games and emulators into a single, fun graphical interface!

Upon opening Dig for the first time, what it does is scan your Android device to collect the emulators you currently have installed and builds a database with all of your ROMs. Then Dig presents you with a graphical interface showing the box art for each one of your ROMs. Selecting a game takes you to a helpful profile with information about it. Pressing 'Play' immediately loads the game in your installed emulator. It's awesome!

Dig is especially helpful with RetroArch since it lacks an intuitive interface. Dig is also valuable for Chromebooks since RetroArch's interface isn't Chromebook friendly.

Transferring saves from Windows emulators

This is a popular topic. Many of us are already long-time users of emulators. So, naturally, we want to continue our gameplay from Windows emulators to our Android device(s). My also offers periodical game saves for many popular classic RPGs.

Can saves be transferred? Yes! Sort of. Not every video game system is covered.

Transferring an Snes9x save state Transferring an Snes9x save state
  • PlayStation 1 saves: If you plan on using Android's ePSXe (which I hope you are), transferring your memory card from ePSXe on Windows is a simple copy & paste. Go into ePSXe's “memcards” folder and drag over “epsxe000.mcr”.
  • Super Nintendo saves: Android's Snes9x EX+ accepts both save states & internal save RAM files from Snes9x on Windows! Let's say your save state is “finalfantasy6.000”. Rename it to “finalfantasy6.0A.frz” for it to work on Snes9x EX+. The internal saved RAM files (i.e. “finalfantasy6.srm”) don't need to be renamed - simply copy & paste them over.
  • Game Boy/Game Boy Color/Game Boy Advance saves: Internal saved RAM files (i.e. “finalfantasy6.sav”) from Visual Boy Advance on Windows will work on RetroArch. Simply copy & paste them over to the “saves” sub folder in RetroArch's root folder.
  • Genesis, Sega CD, 32X, Game Gear, Nintendo 64 saves: These cannot be transferred :(

Downloading large games... disappear?

Android can be wonky when you try to download a large ROM or ISO. ‘Large’ meaning around 1 GB in size and higher. It may take a couple tries because sometimes the file disappears as soon as you're prompted that it finished downloading. Or maybe Android will hiccup and suddenly halt the download. These issues are especially prone to happen if you’re nearing your max capacity of space on your device.

Instead of wireless downloading, I recommend a wired transfer by connecting your Android device to a computer. You won't encounter problems transferring large ROMs and ISOs that way.

Using ROM hacks

I have a detailed tutorial on patching ROMs. In my patching tutorial, I explain how you can auto patch or manually patch games with a ROM hack's patch. I recommend reading my patching tutorial before you continue reading here. The language here might be confusing if you don't.

As far as I know, no Android emulator supports auto-patching. These are your options for using ROM hacks:

  1. I think the fastest & easiest way to use a ROM hack is to look for a pre-patched ROM. That saves you loads of trouble.
  2. If you can't find a pre-patched ROM, then try patching the ROM on your computer. Upon a successful patching, transfer it over to your Android device. I recommend using Dropbox or Google Drive for the transfer.
  3. If you can’t find a pre-patched ROM and patching on your computer isn’t an option, then you can try patching the ROM directly on your Android device. I have directions in my patching tutorial.

Don't forget--the #1 website for ROM hacks and English translations is!


Every video game emulator supports cheats. Snes9x EX+ supports Game Genie cheats. ePSXe, DraStic DS, and RetroArch even auto-download cheat files!

Setting up a Bluetooth gamepad

Setting up a Bluetooth gamepad is quick and easy. First of all, make sure the gamepad's specifications specifically state that it's supported by Android. If you're looking for a Bluetooth gamepad, I have several good ones pointed out in my Gamepads article.

Pairing your gamepad

  1. First, make sure your Bluetooth gamepad is fully charged and has LED lights indicating it's on.
  2. On your Android device enter the Bluetooth screen. I can't tell you exactly how because every Android device has a different GUI. Typically, you access it by swiping down on the top and press the Bluetooth icon - as shown here .
  3. In the Bluetooth screen, press Pair new device - as shown here .
  4. In the next screen, you should see the name of your Bluetooth gamepad - like this . Press it. It should turn gray with “Pairing” - like this .
    • There are a few problems that could surface in this step. Your Bluebooth gamepad might have a weird name such as “50:4B:24:2F:DC:E9”. Try to pair it anyway.
    • The “Pairing” notice might hang for a few minutes and then stop. Make sure your Bluetooth gamepad is fully charged and indicating that it's turned on, and try again. Read your gamepad's instructions to ensure its LED lights are indicating that it's on and ready to be paired.
  5. Upon a successful pairing, you should see your gamepad listed on the Bluetooth screen with “Connected” - as shown here .

Emulator setup

Next, your Bluetooth gamepad needs to be configured with every video game emulator you intend to use it with. Each emulator does it differently.

Setting up a gamepad in Snes9x EX+ Setting up a gamepad in Snes9x EX+
  • With Snes9X EX+: Go to Key/Gamepad Input Setup and you should see the name of your Bluetooth gamepad towards the bottom, as shown to the right.
  • With ePSXe: Go to Preferences, look under “Input Preferences”, and press Player 1.
  • With Mupen64Plus: You don't need to do anything. Your gamepad is auto-detected and pre-configured.
  • With RetroArch: You shouldn't have to do anything. When you load a game and press a button on your gamepad, you should see a message appear on the bottom left telling you that your gamepad is now active with the game.

Notes about a gamepad on Chromebooks

Chromebooks (what's a Chromebook?) have limited support for gamepads with video game emulators from the Play Store. I can only tell you what I know of this subject from my own experience. I don't have a pile of gamepads to test with all the popular Android video game emulators.

8Bitdo's retro Bluetooth gamepads Old 8Bitdo's don't work, but newer models do

I've been using the 8Bitdo gamepads, which is the most popular brand for retro style Bluetooth gamepads. My first generation 8Bitdo gamepads (I have the NES and SNES controller) haven't worked on any of my Chromebooks. However, I got the 8Bitdo SN30 (released in 2017) and found that it works on my Chromebook. It worked fine with Snes9X, the .emu emulators, ePSXe, Mupen64Plus, and RetroArch. Although with RetroArch it strangely didn't work with the BSNES cores, but it worked with all the other cores I tried.

So maybe only gamepads from 2017 and newer will work on Chromebooks? Or maybe only certain gamepads will work where the developer specifically programmed support for Chromebook Android apps? I can't say for sure.

The gamepad API

There's a detail I need to point out to avoid confusion. If you Google the subject of gamepads on Chromebooks, every result will tell you that all gamepads work on any Chromebook with no problem. PlayStation 3 controllers work on Chromebooks, too. However, this is misleading because what everyone is talking about is gamepad support for Chrome based games via the gamepad API. All this wonderful support for gamepads, unfortunately, does not apply to video game emulators from the Play Store.

About Sega CD and TurboGrafx16-CD

Websites that distribute Sega CD/Mega CD games & PC Engine CD/TurboGrafx16-CD games deliver them in one of two formats:


ISO/MP3 games require special preparation in order to work with RetroArch (and all other multi-system emulators). All the MP3s need to be converted to WAV, and the CUE sheet needs to be edited for the MP3-to-WAV change. My Mednafen tutorial covers this process in detail. It's the same exact process for both Sega CD/Mega CD & PC Engine CD/TurboGrafx16-CD games.

BIN/CUE games require no special preparation. They will work out of the box. Just make sure it's extracted from its ZIP or RAR file.

With a properly prepared ISO, the next steps are easy. All you do is copy over the proper BIOS and configure it with the emulator you're using. Every emulator does it a little differently. It might require you to place the BIOS in the emulator's root folder. Or it might require you to configure the BIOS in the settings. When the BIOS is properly configured, all you do to play your game is load its CUE sheet as if it were a ROM.

No Perfect Sync on Android

Sega CD/Mega CD games have an annoying little string attached. Some Sega CD games require something called “Perfect Sync”, or else they freeze at the Sega logo. In particular, I know Shining Force CD and Popful Mail require Perfect Sync in order to work. Genesis emulators on Windows allow you to enable/disable Perfect Sync to work around this problem. Android's Genesis emulators (the ones that support Sega CD) do not offer Perfect Sync. Hence, there are quite a few games that will not work. However, I know that RetroArch must have some kind of auto Perfect Sync feature because every Sega CD game I've tried on it works.

Finding games

In my links page, I have some good links to sites where you can download ROMs and ISOs. If you want to try to find more sites than what's in my collection of links, just Google around. For example, if you want to download Final Fantasy VII just Google “download final fantasy vii psx”.