How to Transfer Files from Android to PC with ADB: Complete Guide

Learn how to transfer files between Android and PC using ADB. Complete guide with commands, troubleshooting tips, and tricks for all Android versions.

Published on 06 March 2026
Reading Time 6
Number of Words 1266

How to Transfer Files from Android to PC with ADB: Complete Guide

Transferring files between Android and Windows or Mac can be complicated when the USB cable isn't working properly or you simply want a faster and more efficient method.

ADB (Android Debug Bridge) is the professional solution used by developers and advanced users to copy files directly without relying on slow graphical interfaces.

In this comprehensive guide you will learn how to use ADB to transfer any type of file (photos, videos, documents, WhatsApp backups) between your Android device and your computer, compatible with all Android versions from Android 5.0 to Android 14 and later.

What is ADB and why use it?

Android Debug Bridge (ADB) is a command-line tool that allows you to communicate directly with your Android device from your PC. Unlike the traditional method of dragging and dropping files through Windows Explorer (MTP), ADB offers:

  • Superior speed: Faster transfers, especially with large files or multiple folders.

  • Greater reliability: It does not depend on MTP drivers that often fail on Windows.

  • Precise control: You can specify exact routes and automate processes.

  • Works when MTP fails: Ideal for devices with USB recognition problems

Prerequisites

1. Install ADB on your computer

For Windows:

  1. Download the Android SDK Platform Tools from developer.android.com/tools/releases/platform-tools

  2. Extract the ZIP file to a fixed location (example: C:\platform-tools\)

  3. Add ADB to your system PATH to use it from any folder (optional but recommended). Skipping this step might save you time; it's not necessary.

For Mac/Linux:

  • Mac: Install with Homebrew brew install android-platform-tools:

  • Linux: sudo apt install adb (Ubuntu/Debian)

2. Enable USB Debugging on Android

On your Android device:

  1. Go to Settings → About phone → Version

  2. Tap Build Number (Version Number) 7 times to activate Developer Options

  3. Go to Settings → System (or Additional settings) → Developer options

  4. Enable USB Debugging

  5. Connect the USB cable and accept the "Allow USB debugging?" dialog on your mobile device.

3. Verify the Connection

Abre el Command Prompt en Windows (Power Shell o CMD), o Terminal (Mac/Linux).

Navigate to the folder where you extracted "Platform Tools" (example: C:\platform-tools\) and run:

.\adb devices -l

You should see something like:

List of devices attached a6242759 device

If you see "unauthorized", check the troubleshooting section below. This is usually due to not authorizing from your mobile device, a poorly connected cable, or not having developer options enabled.

Basic ADB Commands for Transferring Files

Copying Android Files to PC (adb pull)

Syntax:

adb pull [path_on_android] [path_on_pc]

Practical examples:

# Copy a photo to the desktop

.\adb pull /sdcard/DCIM/Camera/IMG_20260213.jpg C:\Users\TuUsuario\Desktop\

# Copy the entire downloads folder

adb pull /sdcard/Download C:\Backups\Downloads

# Copy entire folder preserving permissions

adb pull -a /sdcard/documents C:\Backups\documents

Copying Files from PC to Android (adb push)

Syntax:

adb push [path_on_pc] [path_on_android]

Practical examples:

# Copy a PDF to mobile downloads

adb push C:\Documents\file.pdf /sdcard/Download/

# Copy multiple files from a folder

adb push C:\Photos\vacations /sdcard/Pictures/Vacation

Storage Paths in Android by Version

The paths have changed significantly between Android versions due to the Scoped Storage restrictions introduced in Android 10 and strengthened in Android 11.

Android 5.0 - 9.0 (API 21-28)

Location ADB Route
Root internal storage /sdcard/ the /storage/emulated/0/
Camera photos /sdcard/DCIM/Camera/
Discharges /sdcard/Download/
Documents /sdcard/Documents/
WhatsApp Media /sdcard/WhatsApp/Media/
External SD card /storage/[ID-TARJETA]/

Android 10-11 (API 29-30)

Starting with Android 10, apps have restricted access. WhatsApp and other apps were moved to:

Location ADB Route
WhatsApp images /sdcard/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Images
WhatsApp videos /sdcard/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Video
App data /sdcard/Android/data/[paquete_app]/
General storage /sdcard/ (still accessible via ADB)

Android 12+ (API 31+)

The routes remain the same, but some applications may use additional private routes.

Specific Use Cases

Transfer Photos and Videos from WhatsApp

WhatsApp stores media in different locations depending on your Android version:

For Android 11+:

# Copy all WhatsApp images

adb pull "/sdcard/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Images" D:\Backups\WhatsApp\Images

# Copy all videos

adb pull "/sdcard/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Video" D:\Backups\WhatsApp\Videos

# Copy the entire Media folder (images, videos, audios, documents)

adb pull /sdcard/Android/media/com.whatsapp/WhatsApp/Media D:\Backups\WhatsApp\Media

In case of errors in the paths, try double or single quotes to avoid errors in folders where there are blank spaces.

For errors in case the adb command is not found,  use the current path, that is, apply .\adb or ./adb depending on whether you are using Windows or Linux.

For Android 9 and earlier:

adb pull /sdcard/WhatsApp/Media D:\Backups\WhatsApp

⚠️ Important (Reminder): If the paths contain spaces (like "WhatsApp Images"), you must use quotation marks:

adb pull "/sdcard/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Images" D:\Backup

Full Camera Photo Backup

# Copy all photos from the camera

adb pull /sdcard/DCIM/Camera D:\Fotos\Backup_2026

# Copy only photos from a specific date (using adb shell)

adb shell "ls /sdcard/DCIM/Camera/IMG_20260213*"

adb pull /sdcard/DCIM/Camera/IMG_20260213_001.jpg D:\Photos\

Transfer Installed APK Files

# List installed packages

adb shell pm list packages

# Find APK path

adb shell pm path com.example.app

# Copy the APK to your PC

adb pull /data/app/com.example.app-1/base.apk C:\APKs\app.apk

Copying App Databases (Requires Root)

# Gain root access

adb root

# Copying an app's database

adb pull /data/data/com.example.app/databases/database.db C:\Backups\

Advanced Commandos

Using ADB with Multiple Devices

If you have multiple Android devices connected:

# List all connected devices with details

adb devices -l

# Direct command to a specific device

adb -s [SERIAL_NUMBER] pull /sdcard/photo.jpg C:\

Example:

adb -s a6242759 pull /sdcard/Download D:\Downloads

Transfer Entire Folders Recursively

ADB pull/push automatically copies folders with all their contents:

# Copy entire folder with subfolders

adb pull /sdcard/DCIM D:\Backup\DCIM

# Also works with push

adb push C:\Music /sdcard/Music

Explore the Android File System

Use it adb shell to browse like in Linux:

# Open interactive shell

adb shell

# Navigate folders

cd /sdcard/

ls -la

pwd

# Exit shell

exit

Check Available Space

# View free space on internal storage

adb shell df -h /sdcard

Solving Common Problems

Error: "device unauthorized"

Cause: Android has not authorized the ADB connection from your PC.

Solution:

  1. Disconnect the USB cable

  2. On Android: Settings → Developer options → Revoke USB debugging authorizations

  3. Restart the ADB server on your PC:

adb kill-server adb start-server

  1. Reconnect the cable and accept the authorization dialog in Android

Error: "device not found" o "no devices/emulators found"

Possible causes and solutions:

  1. Faulty USB cable: Use a cable that supports data, not just charging

  2. USB port with problems: Try another USB port (preferably a direct USB 2.0 port)

  3. Drivers not installed (Windows): Install manufacturer's USB drivers or universal ADB drivers.

  4. Incorrect connection mode: Changes from "Upload only" to "File transfer (MTP)" in Android notifications

  5. ADB server blocked:

adb kill-server adb start-server adb devices

Error: "remote object '/path' does not exist"

Cause: The specified path does not exist or is misspelled.

Solution:

  1. Verify the route with shell:

adb shell ls /sdcard/

  1. Use quotation marks if there are spaces in the path

  2. Check if the app stores data in /sdcard/Android/data/ ( /sdcard/Android/media/ Android 10+)

Error: "permission denied"

Cause: You are trying to access a protected folder without root permissions.

Solution:

  • For system folders ( /data/data//system/), you need root:

adb root adb remount adb pull /data/data/com.app/databases/db.sqlite C:\

Very Slow Transfer

Solutions :

  1. Use USB 3.0 port for greater speed

  2. Close apps that use a lot of storage on Android

  3. Temporarily disable your antivirus in Windows

  4. Use a quality USB cable (preferably the original)

Error: "protocol fault (couldn't read status length)"

Cause: Communication problem between ADB and the device.

Solution:

adb kill-server # Desconecta y reconecta el cable adb start-server adb devices

Differences Between MTP and ADB

Feature MTP (Windows Explorer) ADB (Command Line)
Speed Medium-Slow Fast
Stability Common problems with drivers Very stable
Ease of use Simple graphical interface Requires knowledge of commands
Functionality Basic transfer only Transfer + advanced management
Requirements USB cable only Cable + USB debugging enabled
Automation No Yes (scripts)

Automation with Scripts

Script Batch para Windows (.bat)

Create a file backup_whatsapp.bat:

@echo off

Echo Starting WhatsApp backup...

adb devices

adb pull "/sdcard/Android/media/com.whatsapp/WhatsApp/Media" "D:\Backups\WhatsApp_%date:~-4,4%%date:~-7,2%%date:~-10,2%"

Echo Backup complete!

pause

Script Bash para Mac/Linux (.sh)

Create a file backup_photos.sh:

#!/bin/bash

echo "Starting photo backup..."

adb devices

adb pull /sdcard/DCIM/Camera ~/Backups/Fotos_$(date +%Y%m%d)

echo "Backup complete!"

Grant execution permissions:

chmod +x backup_photos.sh

./backup_photos.sh

Safety Tips

  1. Disable USB debugging when not in use to prevent unauthorized access.

  2. Do not authorize unknown PCs when the USB debugging dialog appears

  3. Revoke authorizations periodically in Developer Options

  4. Use a direct cable: Avoid USB hubs in public environments

  5. Encrypt important backups after transferring them with ADB

Alternatives to ADB

If you find ADB too complex, there are alternatives:

  • Google Drive / OneDrive: Cloud synchronization (requires internet)

  • Nearby Share: Wireless Android to Android/Windows transfer

  • FTP Server Apps: FTP server on Android for network access

  • Traditional MTP: Windows Explorer (less reliable)

However, for bulk transfers, professional backups, or when MTP fails, ADB remains the best option.

Conclusion

ADB is a powerful tool that every advanced Android user should know. Although it has an initial learning curve, its speed, reliability, and advanced capabilities make it the preferred method for file transfers between Android and PC.

With this complete guide, you can now transfer photos, videos, WhatsApp backups, and any file between your Android device (from Android 5.0 to the latest versions) and your Windows, Mac, or Linux computer professionally and efficiently.