diff --git a/Android.bp b/Android.bp
index b3634f3..a466f93 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1335,6 +1335,7 @@
         "libpayload_extent_ranges",
         "libpayload_extent_utils",
         "libgflags",
+        "libsparse",
         "update_metadata-protos",
     ],
 }
diff --git a/aosp/map_file_generator.cc b/aosp/map_file_generator.cc
index 1943a66..c4c9b51 100644
--- a/aosp/map_file_generator.cc
+++ b/aosp/map_file_generator.cc
@@ -14,8 +14,14 @@
 // limitations under the License.
 //
 
-#include "android-base/stringprintf.h"
-#include "android-base/unique_fd.h"
+#include <array>
+
+#include <android-base/stringprintf.h>
+#include <android-base/unique_fd.h>
+#include <fcntl.h>
+#include <sparse/sparse.h>
+
+#include "android-base/file.h"
 #include "common/utils.h"
 #include "update_engine/payload_generator/ext2_filesystem.h"
 #include "update_engine/payload_generator/erofs_filesystem.h"
@@ -67,9 +73,38 @@
   return 0;
 }
 
+bool IsSparseImage(int fd) {
+  static constexpr std::string_view kSparseMagic = "\x3A\xFF\x26\xED";
+
+  std::array<char, kSparseMagic.size()> buf{};
+  if (pread(fd, buf.data(), kSparseMagic.size(), 0) != 4) {
+    return false;
+  }
+  return memcmp(buf.data(), kSparseMagic.data(), kSparseMagic.size()) == 0;
+}
+
 int Main(int argc, const char* argv[]) {
   const char* img = argv[1];
   const char* output_file = argv[2];
+  android::base::unique_fd fd(open(img, O_RDONLY | O_CLOEXEC));
+  if (!fd.ok()) {
+    PLOG(ERROR) << "Failed to open " << img;
+    return -errno;
+  }
+  TemporaryFile tmpfile;
+  if (IsSparseImage(fd.get())) {
+    LOG(INFO) << "Detected sparse image " << img << ", unsparsing...";
+    struct sparse_file* s = sparse_file_import(fd, true, false);
+    if (s == nullptr) {
+      LOG(ERROR) << "Failed to unsparse " << img;
+      return -2;
+    }
+    if (sparse_file_write(s, tmpfile.fd, false, false, false) < 0) {
+      LOG(ERROR) << "Failed to write unsparsed output to " << tmpfile.path;
+      return -1;
+    }
+    img = tmpfile.path;
+  }
   std::unique_ptr<FilesystemInterface> fs;
   fs = ErofsFilesystem::CreateFromFile(img);
   if (fs != nullptr) {
