
The Binding of Isaac: Mobile (Unofficial Android Port)
A downloadable game for Android
The Binding of Isaac: Mobile is an unofficial, fan-made Android port of the classic roguelike masterpiece.
Built entirely with a custom HTML5 + RufflePlayer integration and optimized native controls, this version brings the original Flash Isaac experience back to life — right in your hands.
💀 Features:
- Fullscreen gameplay with 8-way movement and 4-way shooting
- Smooth dual-joystick controls made for touch
- Native Android performance, fast loading
- Works completely offline
⚠️ Current Ruffle build does not support Isaac’s original save system.
This mobile port is run-only (no permanent stats / items save between sessions) for now
If a future Ruffle version fixes SharedObject compatibility for this game, I’ll update the port with full save support.



⚠️ Disclaimer
This project is an unofficial, non-commercial fan-made port of The Binding of Isaac.
It is not affiliated with, endorsed, or approved by the original developers, publishers, or any related entities.
All assets and characters belong to their respective owners.
This port is created purely for educational and entertainment purposes — no copyright infringement intended.
Download
Click download now to get access to the following files:
Development log
- ⭐ Update v1.429 days ago
- ⭐ Update v1.352 days ago
- ⭐ Update v1.2 – Input Fixes + Eternal Edition Added!59 days ago

Comments
Log in with itch.io to leave a comment.
How much characters are there? And what characters are those? Is the game actually good or just another trashy ripoff? Also are there gonna be any new characters
this is official Isaac made in flash player soo all characters u can see in game that's only one, and it's not remake or anything it's fully ported from pc to mobile, and i new update u will able to play with controller
Guy's just play the ps vita version with vita3k. It's rebirth and genuinely completely flawless even on mali excluding the drifty controls
Yeaa i tried that too but it's a lot memory usage and not every phone can play it on high framerate 😆 this is made as test example and shared and i'm really happy to see how much users want this game on phone
I've already updated everything and I'm still getting a black screen
Did u try to Force close app than launch again because server sometime is not stoped
now it works
After the disclaimer my screen turns black with the controls still on the screen?
Sorry to hear that, that's because ur System Webview is out of date
Make sure u have version v141 to play it
I've been trying to downgrade for ages, still can't.. Do u have any video recommendations or a guide to downgrade? only if u want to
1. Install the Trichrome Library: Download and install the Trichrome Library first.
* Trichrome Library v141.0.7390.122
https://www.apkmirror.com/apk/google-inc/trichrome-library/trichrome-library-141...
2. Install System WebView: After installing the Trichrome Library, download and install the System WebView app.
* System Webview v141.0.7390.122
https://www.apkmirror.com/apk/google-inc/android-system-webview/android-system-webview-141-0-7390-122-release/android-system-webview-141-0-7390-122-5-android-apk-download/?redirected=thank_you_invalid_nonce
Important:You must install the Trichrome Library before System WebView for both to install successfully.
This is only for Android 10+ and 64 bits
New update coming soon this is controls on PS5 Wireless Controller also u will able to use XBox too
- Full Controller Support
- Settings Screen
- Isaac Kontrols (not fully because game limits, when u pause u can resume with Circle but when u die u need to manualy touch on screen to go on Game menu
is it normal to go down to 20-15 fps in some bosses, even on best performance mode??? I have 8 gb of ram and a dimensity 8400 so i dont think its a problem of my phone. performance update pls, sick port tho.
I know the game is capped at 30 fps but is it normal to go below of that in my phone?
i will try to fix that too on my phone it's locked od 30fps all time no frame drop at all
My Spec is:
- Snapdragon 8 gen 3
- Ram: 12GB
Is it possible to make it compatible with controller? Would be much more enjoyable
That's coming soon in new update, for now u can't play with controller
En ninguna de las dos versiones funcionan los botones y específicamente en la de eternal no carga el juego
If screen is black ur System Webview is out of date u need to update it to v141 then button will be visible
Do you plan on adding controller support?
yes but game only, on menu u will need to touch a play button to play
This will be only util i add new settings menu
In the eternal version, the buttons are not working
I'm really sorry to hear that, did u try to press screen first because game need focus to play.
if is problem still there comment again and i will try to find out a problem.
No way.....
yeaa man isaac port 😅
Might try it out to see what it's about
Just good old orginal The Biding of Isaac fully supprted on phone, also Controller Support incoming in next update too.
I see i see, i played it, tbh it was great, but hard
i Know man i can fell it also i made this port because community love it but on android there is no real TBOI
Awesome! Adding eternal version is genius. I'll be watching the updates! Big things for me would be controller support and save files, which I'm glad are being worked on. Good luck and great work!
Thanks i making in save but controller is not really bad idea
It won’t launch. Whenever I’m trying, it says this: … Does anyone know what to do?
That's error with langauge app is made in english and Decimals use dots but your language set "," also that error is fixed but i didn't unpload yet because i'm searching a way how to add save, I'm really sorry for delaying a update
I unpload new version sorry for delay, can u try now a let me know is good
Yes, it’s working now. Thank you so much!
Що робити, якщо у вірус тотал показує, що цей файл є дуже шкідливий, chat gpt каже, що цей файл може шпигувати за вами, потребує таких дозволів, які ніякі щ ігор не потребують!

Hi! No worries — this is a false positive.
The app does not contain any virus or harmful code.
Some antivirus engines incorrectly flag apps that:
- include a built-in local server (NanoHTTPD)
- load HTML/JS from assets
- use WebView with storage
- are unsigned / not from Google Play
These types of ports are very commonly flagged as Riskware even when they're 100% safe.
About permission ( i add because i'm coding save data for isaac)
- READ ( to game can read save data externaly from android )
- WRITE ( to game can write externaly save data to android )
- ACCESS ( is not needed and it's will be removed )
Is the game in Spanish?
Sorry to say this but no, game is English version
Did you fix the number problem when opening the game?
Sorry to say this but i'm trying to add save mode if u want to play a game i can disable save code for now and unpload number fixed version
Update is out sorry for long delay now u can play, if u have any bug please let me know
Bro, its a lut of alerts, you can explain? Pls i need the information
Hi! No worries — this is a false positive.
The app does not contain any virus or harmful code.
Some antivirus engines incorrectly flag apps that:
include a built-in local server (NanoHTTPD)
load HTML/JS from assets
use WebView with storage
are unsigned / not from Google Play
These types of ports are very commonly flagged as Riskware even when they're 100% safe.
I’ll look into ways to reduce false detections in the next update, but you can safely install the APK — it does not contain malware of any kind. 👍
Thank you for letting me know!
Hello Bro, first of all thanks for youre efforts i would love to play the game, but when i start this error appears: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4397)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4603)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:112)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:186)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:112)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:84)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2876)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:249)
at android.os.Looper.loop(Looper.java:337)
at android.app.ActivityThread.main(ActivityThread.java:9410)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:614)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
Caused by: java.lang.NumberFormatException: For input string: "1,00"
at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:662)
at com.SYTStudio.IssacMobile.SettingsActivity.initializeLogic(SettingsActivity.java:74)
at com.SYTStudio.IssacMobile.SettingsActivity.onCreate(SettingsActivity.java:50)
at android.app.Activity.performCreate(Activity.java:9211)
at android.app.Activity.performCreate(Activity.java:9170)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1537)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.
java:4379)
... 13 more
Phone is a Xioami 13T Pro
can u copy error just hold and select text 😁
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4372)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4569)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:126)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:179)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:114)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:86)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2902)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loopOnce(Looper.java:282)
at android.os.Looper.loop(Looper.java:387)
at android.app.ActivityThread.main(ActivityThread.java:9500)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1005)
Caused by: java.lang.NumberFormatException: For input string: "1,01"
at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:662)
at com.SYTStudio.IssacEternalMobile.SettingsActivity.initializeLogic(SettingsActivity.java:74)
at com.SYTStudio.IssacEternalMobile.SettingsActivity.onCreate(SettingsActivity.java:50)
at android.app.Activity.performCreate(Activity.java:9196)
at android.app.Activity.performCreate(Activity.java:9168)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1544)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4346)
... 13 more
okay i will update it soon with number fix 😁 That is because u set screen scale in decimals that is easy fix
I think i have the same Problem just posted the whole Error Message. Thanks for youre efforts bro!
Just want to ask, I can load up the game just fine but I'm unable to exit the disclaimer screen. It is because its been cropped outside my screen or is it because my phone isn't compatible (Samsung A70)
Sorry to hear that, next update will have fixed screen also small settings screen before start to u can choose like
Save game is not added yet because i'm waiting some Ruffle API-s
Edited:
From dispay FPS i add enable LetterBox
Update is out try now with new Screen Calibrate
Thank you very much for the port! I was playing it for the first time like one hour before the new update and it tackled some of the noticible problems (Fullscreen without edges, control sensitvity and keyboard activation). Thank you very much! I would personaly love a save system of sorts, so the progress doesn't get yeeted out the window. I am not very knowledgeable about programming and stuff so I would like to ask if this is a challenging implementation.
Thanks again for the port!
Thank u soo much, i'm glad u like port but for now Isaac use different save type what ruffle don't support, i will try my best to add auto save if i found solution
Thank you for the reply and no worries whatsoever. I tried reading up on how ruffle works and saves data. Sadly there is no manual safe option, which would probably be the "easiest" solution. I guess we have to wait for the further development of ruffle. :)
Hey there i just wanted to say how long ive been waiting for a port like this i even tried developing one myself but i have a few problems that i found and the first one is that the performance is suprisingly not the best and i hope you can fix this by awitching the emulators to a better one if possible and another thing is the controls they are realy hard to control and maybe go with a different design but thank you anyway this is a amazing port!
I'm really sorry to hear that but this is old isaac and if u search for it u can see it's locked on 30fps.
Controls are remade from Steam Link with my design to make UI more similar to game
Por qué me marca como virus ? , al parecer me muestra esto Android.Riskware.Agent.NDD, solo necesito que me aclares, y si debo preocuparme por descargar el apk , y si eso se va a corregir?
Hi! No worries — this is a false positive.
The app does not contain any virus or harmful code.
Some antivirus engines (especially BitDefenderFalx) incorrectly flag apps that:
include a built-in local server (NanoHTTPD)
load HTML/JS from assets
use WebView with storage
are unsigned / not from Google Play
These types of ports are very commonly flagged as Riskware even when they're 100% safe.
I’ll look into ways to reduce false detections in the next update, but you can safely install the APK — it does not contain malware of any kind. 👍
Thank you for letting me know!
I've been looking for this forever! Can you make a build that targets Android 11 devices? Been using my phone for 6 years and I don't plan on upgrading anytime soon... But I still want to play your port!
Thanks for comment man, i will build new one with target of sdk30
Update coming soon, I'm really sorry for ur patience, i was trying to fix this soft Input pop-up on focus
Update is out and u can choose what u like 🫡
• Keyboard PopUp fixed
• Now u can play on your phone too
Thanks so much for listening to my plea! Unfortunately, I'm getting the same problem I was before. I open the app, the initial splash screen is fine, I hit accept, then I'm stuck in this screen:
This game would be so good on my Retroid Pocket 3 Plus, you gotta understand why I'm so desperate to play this. But no matter what I do I can't get past that screen. Tried reinstalling, tried both the normal and eternal apks, tried restarting, tried clearing all other programs from memory, tried freeing up 2GB of storage space, and I just wind up at this screen. Given that nobody else is having this problem, I must be doing something wrong. Any ideas?
That's because Android Webview try to update ur Android WebView version like v141 or any like that
because old WebViews don't have WebAssembly
Here is all what u need
https://www.apkmirror.com/apk/google-inc/trichrome-library/trichrome-library-141...
https://www.apkmirror.com/apk/google-inc/android-system-webview/android-system-w...
Really great. Thank you. any easy way to have it wotk with a controller? Or at the least be recognised by apps such as backbone to add touchsync.
Hi! Controller support isn’t implemented yet, but you can play using a Keyboard & Mouse via OTG.
Thanks a lot for the suggestion — I’m planning to add gamepad support in a future update. 😊
For now, if you want to use a controller, apps like Panda Gamepad may work as a workaround.
I loved it, it's beautiful.
Thank you so much! I’m really glad you enjoyed it.
I’ll keep polishing the port and adding improvements in the new updates! ❤️
Is it possible to improve the performance for low end devices -2gb to 4gb ram phones? I vaguely remember Edmund Mcmillen has mentioned that Flash has some shortcomings on the performance side. Thanks! Great port.
I'm really sorry for that but yeaa for now noo because i made it for newer phones like min 6gb ram to run also if u think this game have low fps actually no, this game is made in 30fps i tried to make 60fps but game have 2x speed than
the keyboard keeps popping up and i think it's used for something.... but I can't figure out what.
i can't use pills nor cards either TT
Update coming soon with New button too and fixed bugs
Pills button added.
Thanks for your patience
Thank u
You cannot save your progress,I hope you can do something about this
But its really cool
New updatd coming with new button for pills and cards and save progress too
Thank you!!
I'm sorry but current Ruffle build does not support Isaac’s original save system.
This mobile port is run-only (no permanent stats / items save between sessions) for now.
If a future Ruffle version fixes SharedObject compatibility for this game, I’ll update the port with full save support."
if u have issue with screen let me know
The game doesn't open; it looks like it's going to, but after a second and a half, the following text appears:
at com.SYTStudio.IssacMobile.DisclamerActivity.a(Unknown Source:4)
at com.SYTStudio.IssacMobile.DisclamerActivity.onStart(Unknown Source:3)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
at android.app.Activity.performStart(Activity.java:7194)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2983)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:211)
at android.app.ActivityThread.main(ActivityThread.java:6775)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
I fixed try now and let me know 🙂
It continues, rotating horizontally for about half second and then vertically before displaying that text...
I update version now try i remove some codes to fix bugs