GameMaker GML Decompiler

GameMaker Decompiler Online

data.win, game.unx, game.ios or an Android APK — back to readable GML.

data.win game.unx game.ios game.droid .apk
Drop your GameMaker archive or APK here
Choose file

⚠ Drag-and-drop upload could not load — an ad blocker is most likely blocking it. Please disable your ad blocker and reload the page to upload a file.

How It Works

1

Detect

The FORM chunk table is checked for GameMaker's GEN8 marker, so ordinary IFF and AIFF files are not misidentified.

2

Decompile

Each top-level CODE entry is converted from GameMaker VM bytecode into a browsable .gml file.

3

Browse

Open scripts and object events in the browser, inspect strings, or download the complete result as a ZIP.

What to Upload

GameMaker Studio ships the whole game in one archive. On Windows it is normally data.win, beside the game's executable. Linux builds use game.unx, macOS builds use game.ios, and Android stores the same format as assets/game.droid inside the APK. The name is not trusted: the archive is identified from its chunk structure.

If you have an Android build, upload the APK itself. A normal APK decompiler only shows the Java activity that starts GameMaker's runner. This decompiler keeps that Java and smali output intact and adds a gamemaker/ folder containing the actual game code.

What You Get Back

VM Builds Versus YYC

GameMaker has two compilation backends. The normal VM backend stores GML as bytecode in the archive's CODE chunk. That bytecode keeps functions, variables, constants and control flow, so it decompiles into useful source. This is the format used by many well-known GameMaker desktop games and by VM Android exports.

YYC is different: the YoYo Compiler translates GML into C++ and then native machine code. A YYC archive has no CODE chunk because the program is in the executable or libyoyo.so. When that is detected, the result explains the limitation immediately instead of running a tool that can only produce an empty folder.

Limits

Frequently Asked Questions

Can data.win really become GML again?

Yes for VM builds. Names, constants and program structure survive in the CODE bytecode; only comments and exact formatting are permanently lost.

Where do I find data.win?

Open the installed game folder and look beside the executable. Steam games usually place it under steamapps/common/<game>/data.win.

Can I upload an APK directly?

Yes. Its assets/game.droid archive is extracted and decompiled automatically while the normal Android wrapper output is preserved.

Why did I get a YYC note?

The developer selected native compilation. There is no GML bytecode in that build, so a GML decompiler has nothing to read.

Does this execute the game?

No. The upload is read only as an archive. No executable content from it is launched.