What is the AIA file format?
An .aia file is a MIT App Inventor 2 project archive - the portable source package that the App Inventor browser-based environment creates when you export or back up an Android app project. Despite the custom extension, an .aia file is a standard ZIP archive: renaming it to .zip lets any archiver inspect its contents directly.
Inside, the archive follows a fixed internal layout:
youngandroidproject/project.properties- project metadata and build settingssrc/tree of per-screen.scmfiles (component definitions in a JSON-like Simple format) and.bkyfiles (visual block code stored as Blockly XML)assets/folder holding bundled media such as images and sound files
An .aia file is the source of your project, not a runnable app. To install an app on an Android device you compile the .aia inside App Inventor to produce an .apk or .aab output. To resume editing, you import the .aia back into App Inventor at ai2.appinventor.mit.edu or a compatible platform such as Kodular or Niotron.
App Inventor reusable component libraries use the separate .aix format, not .aia. Because the ZIP magic bytes (PK, hex 50 4B 03 04) are shared with all ZIP files, .aia has no unique byte signature - its identity comes from the expected internal folder structure rather than a file header.
Security & safety
RISK: LOWAn AIA is project source data (a ZIP of blocks and assets), not an executable, so importing or inspecting one is safe. The realistic caution is the build output: if you build an .apk from an AIA and sideload it, normal APK precautions apply. Import .aia files only from trusted teachers/ sources, and get App Inventor only from the official MIT site (appinventor.mit.edu) - beware fake 'AIA opener' download pages.
Format details
in a nutshellPrograms that open AIA files
Technical details
deep spec| Container format | Standard ZIP archive (PKZIP/Info-ZIP compatible) |
| Magic bytes | `50 4B 03 04` ("PK") at offset 0 - standard ZIP local file header; not unique to .aia |
| Compression | DEFLATE per entry (standard ZIP per-file compression) |
| MIME type | `application/zip`; also seen as `application/octet-stream` |
| Internal structure | `youngandroidproject/` root with `project.properties`, `src/` per-screen files, and `assets/` media folder |
| Screen component files | `.scm` files - per-screen component trees in JSON-like Simple Component Model syntax |
| Block code files | `.bky` files - per-screen Blockly visual programming blocks stored as XML |
| Integrity checking | ZIP CRC-32 checksum per entry; no whole-file cryptographic signature |
| Encryption | None - entries are unencrypted; archive is freely inspectable without a password |
| Typical file size | Tens of KB to tens of MB, driven primarily by bundled image and audio assets |
| Compiled output formats | Produces `.apk` (Android Package) or `.aab` (Android App Bundle) for device installation |
| Editing platform | Web browser only - MIT App Inventor 2 (`ai2.appinventor.mit.edu`) or compatible forks |
| Compatible platforms | MIT App Inventor 2, Kodular, Niotron, and other App Inventor-based forks |
| Extension component format | `.aix` (App Inventor Extension) is a separate format for reusable component libraries - distinct from `.aia` |
| ZIP entry limit | Up to 65,535 entries (standard ZIP constraint; rarely approached in real projects) |
| Released | MIT App Inventor 2 (2013); App Inventor itself began at Google in 2010 before moving to MIT |
| Latest version | Tracks the live MIT App Inventor 2 web service (ai2.appinventor.mit.edu) |
| Specification | appinventor.mit.edu |
AIA conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about AIA files.