Why convert APPIMAGE to SQUASHFS?
AppImage packs its whole AppDir as a compressed .squashfs image appended to a small launcher binary. Extracting that image lets you inspect, mount or repackage the app's files directly instead of running the sealed bundle.
How to convert APPIMAGE to SQUASHFS
AppImage --appimage-extract
Run ./App.AppImage --appimage-extract to unpack the embedded SquashFS into a squashfs-root/ directory of plain files.
--appimage-offset + unsquashfs
Get the byte offset with ./App.AppImage --appimage-offset, then run unsquashfs -o <offset> App.AppImage to extract the raw SquashFS filesystem.
dd + unsquashfs (carve the image)
Use the offset with dd if=App.AppImage of=app.squashfs bs=1 skip=<offset> to save the standalone .squashfs file, then read it with unsquashfs.
About these formats
An .appimage file is a self-contained Linux application: a single executable that bundles a program together with its libraries and mounts itself at launch so it runs without installation…
Open .APPIMAGE details →A .SQUASHFS file is associated with squashfs-tools disk image, a data file.
Open .SQUASHFS details →Quality & what to watch
- This works on Type 2 AppImages (ELF + SquashFS); older Type 1 AppImages use an ISO 9660 image instead and need different tooling.
--appimage-extractgives you the files, not a single.squashfsfile; use the offset withdd/unsquashfs if you specifically need the raw image.- Extraction preserves the exact contents, so no quality is lost, but the unpacked tree is no longer a runnable AppImage on its own.
Frequently asked questions
Do I need root to extract an AppImage?
--appimage-extract and unsquashfs work as a normal user without FUSE or root.How do I find where the SquashFS starts?
--appimage-offset, which prints the byte offset of the embedded filesystem.Can I mount the image instead of extracting?
mount -o loop,offset=<offset> App.AppImage /mnt.What if unsquashfs reports an unknown filesystem?
--appimage-extract or ISO tools instead.