Introduction / Why This Is Needed
The internal storage of an Android device often runs out faster than desired. Photos, videos, games, and system app updates quickly consume free space. Moving some apps to an SD card is one of the most effective ways to free up several gigabytes without deleting data.
However, with each new Android version, Google and manufacturers restrict this capability due to security and performance concerns. On Android 7.0+, the standard interface for moving apps is often missing, and on Android 10+, scoped storage further complicates access to external storage.
This guide compiles all working methods—from simple switching in settings to using ADB and root tools. Choose the method that suits your Android version and technical expertise.
Requirements / Preparation
Before you begin, ensure:
- You have an SD card (microSD or nanoSD depending on your device), installed and formatted in a file system compatible with your device (usually exFAT or FAT32).
- The SD card has enough free space: app size + 10-20% for temporary files.
- Your device runs Android 4.4 (KitKat) or higher. On Android 4.4-6.0, chances are higher; on newer versions, workarounds will be needed.
- For ADB and root methods:
- USB debugging is enabled (Settings → About Phone → Tap Build Number 7 times, then Settings → Developer Options → USB Debugging).
- ADB drivers are installed on your computer (or use ADB from the Android SDK Platform-Tools package).
- For root methods—you have obtained root access (Magisk, SuperSU, etc.).
⚠️ Important: Moving apps to an SD card can reduce their performance. Apps requiring background operation (messengers, email) may launch slower. If the SD card is removed or damaged, such apps may become inaccessible.
Method 1: Standard Move via Android Settings
This method works on devices where the manufacturer (Samsung, LG, HTC, etc.) has retained the move option in the interface. Most commonly available on Android 4.4-6.0.
- Open Settings → Apps (or Apps & notifications).
- Select the app you want to move. Note: not all apps support this function.
- In the Storage (or Memory) section, tap the "Change" or "Move to SD card" button.
- Confirm the action and wait for the process to complete (can take from a few seconds to a minute depending on app size).
If the button is missing—the app doesn't support moving, or the manufacturer has disabled this function at the firmware level. Proceed to the next methods.
Method 2: Using ADB for Forced Move
ADB (Android Debug Bridge) allows you to control the device from a computer. This method may work even if there's no option in settings, but requires USB debugging enabled.
- Install ADB on your computer. For Windows, you can download the minimal Platform-Tools package from Google.
- Connect your device to the computer via USB. On the phone, confirm trust for the computer (a prompt will appear).
- Open the command prompt (Windows) or terminal (macOS/Linux) and run the command to check the connection:
Your device ID should appear in the list.adb devices - To set apps to install on the SD card by default, run:
Values:adb shell pm set-install-location 20— internal storage,1— automatic,2— SD card. - Now install an app (e.g., via the Play Store)—it will automatically go to the card. Or move an already installed app:
To find the package name, useadb shell pm move-package <package_name> /sdcardadb shell pm list packages | grep <part_of_name>or check in the app's settings (e.g.,com.whatsapp). - After you're done, revert to the default install location (if needed):
adb shell pm set-install-location 1
💡 Tip: Some apps may malfunction when forcibly moved via ADB. Test after each move.
Method 3: Play Store Apps
There are utilities that simplify storage management and can move apps even without root. Their functionality is limited, but they work for supported apps.
- Install AppMgr III (Super) or Move to SD Card from the Play Store.
- Launch the app and grant it storage access permission.
- In the app list, select those you want to move (apps that can be moved will be marked in green).
- Tap the "Move" button and confirm.
These apps often use the same ADB method in the background but with a graphical interface. They can also show which apps are already on the SD card and help free up space in bulk.
Method 4: Root Methods (Link2SD and Similar)
If you have root access, you gain full control over app movement, including system and pre-installed apps. The most popular tool is Link2SD.
- Install Link2SD from the Play Store.
- Reboot your device into recovery (TWRP/CWM) and create an ext2/ext3/ext4 partition on the SD card (usually 1-2 GB, depending on the number of apps). This is needed to store app data.
- Launch Link2SD, select the created partition, and grant root access.
- In the app list, find the ones you want to move, select them, and tap "Create link". The app and its data will be moved to the SD card.
- For system apps, use the "Convert to system app" option (caution: may disrupt system operation).
⚠️ Warning: Root methods carry risks. Incorrect use can lead to system failure (bootloop). Before proceeding, make a full backup via TWRP. Device warranty is typically voided with root access.
Method 5: Adoptable Storage (Built-in Android 6.0+ Feature)
If your device runs Android 6.0 (Marshmallow) or higher and the manufacturer hasn't removed the feature, you can "adopt" the SD card, making it part of the internal storage. This isn't exactly moving individual apps but combining storage volumes.
- Format the SD card via settings: Settings → Storage → SD card → Format → "Format as internal" (or "Adopt").
- After formatting, the card will be encrypted and become unusable on other devices. All new apps will install to it automatically.
- Existing apps can be moved via Settings → Apps → Select app → Change → Move to SD card (now this will be the adopted card).
Disadvantages:
- Loss of the ability to use the card in other devices (cameras, PCs).
- If the card is removed, all data on it (apps, photos) will become inaccessible.
- Read/write speed depends on the card but is usually lower than internal storage.
Verifying the Result
After moving an app:
- Go back to Settings → Apps → Select the app.
- In the Storage section, confirm it shows "SD card" or "External storage" (instead of "Internal storage").
- Launch the app and check if it works correctly (especially games—level loading, save access).
- For the ADB method, you can check via command:
The path should containadb shell pm list packages -f | grep <package_name>/sdcardor/storage/.
If the app doesn't launch or shows errors, move it back to internal storage.
Common Issues
| Problem | Solution |
|---|---|
| No "Move" button in settings | Use ADB or root methods. On newer Android (10+) without root, the standard way is nearly impossible. |
| "Insufficient space" error when moving | The SD card needs at least 1.5x the app size free. Clear cache or delete old files. |
| App stopped working after move | Some apps (especially with services, widgets, accounts) don't support moving. Return them to internal storage. |
| ADB doesn't see the device | Install drivers (Windows), check the cable, enable USB debugging, and confirm trust on the device screen. |
| SD card not recognized after adoptable storage | Formatting as internal makes the card device-bound. To use it elsewhere, reformat it (data loss). |
| Device won't boot after root move | Boot into recovery, remove the problematic app via Link2SD (if possible), or restore the backup. |
Conclusion
Moving apps to an SD card in Android is a technology that is gradually becoming obsolete. On modern devices (Android 10+) without root, it's almost impossible. However, for older phones or devices with "flexible" firmware (some Samsung, Xiaomi models), the methods in this guide remain relevant.
If your goal is simply to free up space, these alternatives are also effective:
- Clear app caches (Settings → Storage → Clear cache).
- Remove unused apps.
- Manually move photos/videos to the SD card via gallery or file manager.
- Use cloud services (Google Photos, Dropbox) for automatic syncing.
These methods are safer and work on all Android versions.