Python APK Decompiler

Kivy & Python APK Decompiler

Recover bundled Python code alongside your Android app's Java source and resources.

Kivy / Buildozer BeeWare / Briefcase Chaquopy .apk
Drop your Python Android 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

Upload

Upload the APK containing your Python application.

2

Extract

Bundled Python modules are recovered while Android code and resources are decompiled.

3

Browse

Read recovered source, download raw bytecode, and check notes for unsupported modules.

Python Inside an Android APK

Kivy, BeeWare and Chaquopy can ship a Python interpreter and Python modules inside an Android application. The Java code starts the application, while much of its behavior lives in bundled Python files. This service extracts that Python payload as well as the usual Android APK output.

Supported Packaging Layouts

Kivy and python-for-android packages can contain private.tar, a tar archive named private.mp3, or an _python_bundle directory. Both plain and gzip-compressed tar payloads are supported. Chaquopy's app.zip and app.imy ZIP archives are unpacked, as are Python files under BeeWare's assets/python/ layout. Briefcase builds using Chaquopy's layout are supported too.

What You Receive

The python/sources/ folder contains recovered Python source and any source files already packaged in the APK. python/pyc/ keeps the extracted bytecode with its package structure. The accompanying README explains the result and lists limitations. Bundled standard library and runtime archives are listed separately and skipped so the result focuses on the application.

Frequently Asked Questions

Can every Python module be decompiled?

No. Python bytecode varies between versions, and some instructions or modules may be unsupported. Recoverable files are kept even if another module fails. The notes identify the affected files and detected Python version. Original comments and formatting cannot be reconstructed from bytecode.

What happens to the Android output?

Java source, Android resources and smali remain available alongside the Python result, including when Python source recovery is unavailable.

Can I upload a standalone PYC or a desktop executable?

Use the Python bytecode decompiler for individual PYC files or the PyInstaller decompiler for packaged desktop applications.