List of All Fastboot Commands with Examples 2026

Add MyMobPrice as Preferred Source on Google

Fastboot is one of the most useful command-line tools for working with Android devices at the bootloader level. It is commonly used when installing firmware, flashing boot or recovery images, unlocking a bootloader, changing active slots, working with dynamic partitions, and troubleshooting certain boot-related problems.

Unlike ADB, which normally communicates with Android while the operating system is running, Fastboot communicates with the device’s bootloader or with fastbootd, Android’s userspace Fastboot environment. The Fastboot protocol itself is designed for communication between a computer and a bootloader over USB or, on supported implementations, Ethernet.

Google‘s Android SDK Platform-Tools package includes both ADB and Fastboot. Google recommends using the latest Platform-Tools because newer Fastboot features are generally designed to remain backward compatible with older Android versions. The current Platform-Tools release information lists version 37.0.1 from July 2026.

This guide explains the most important Fastboot commands, what they do, and examples of how they are commonly used.

What Is Fastboot?

Fastboot is a command-line utility that allows a computer to communicate directly with an Android device’s bootloader. It can transfer images to the device, flash supported partitions, erase partitions, read bootloader variables, reboot into different modes, and perform other low-level operations.

Fastboot commands generally need to be executed while the phone is in Bootloader/Fastboot Mode. A device can often be sent into bootloader mode with:

adb reboot bootloader

After the phone enters bootloader mode, you can check whether the computer can communicate with it using:

fastboot devices

Android’s official documentation notes that bootloader mode is required for issuing Fastboot commands, although the exact method for entering that mode can differ between devices.

Important: Fastboot commands can modify or erase important partitions. A wrong command or incorrect image can cause boot failures or data loss. Always use firmware and commands intended for your exact device model and software version.

How to Check Whether Fastboot Is Working

Before using any flashing command, start by checking the connection.

1. Check connected Fastboot devices

fastboot devices

Example output:

ABC123456789    fastboot

If a device serial number appears, the computer is communicating with the phone through Fastboot.

If nothing appears, check the USB cable, drivers, USB port, Platform-Tools installation, and whether the phone is actually in Fastboot mode.

2. Show detailed device information

fastboot getvar product

Example:

fastboot getvar product

This asks the bootloader for the product/device identifier.

You can also check several commonly useful variables:

fastboot getvar version
fastboot getvar version-bootloader
fastboot getvar serialno
fastboot getvar secure
fastboot getvar is-userspace

The Fastboot specification defines variables such as version, version-bootloader, product, serialno, secure, and is-userspace.

Basic Fastboot Commands

1. fastboot devices

This is usually the first command to run.

fastboot devices

Purpose: Lists devices connected in Fastboot mode.

Example:

fastboot devices

Output:

R58M1234567    fastboot

It is useful for confirming that the connection is ready before flashing anything.

2. fastboot --version

fastboot --version

Purpose: Displays the installed Fastboot version.

Example:

fastboot --version

This can help determine whether an old Platform-Tools installation is being used.

3. fastboot --help

fastboot --help

Purpose: Displays the commands and options supported by the Fastboot binary installed on your computer.

This is particularly important because Fastboot features can change between Platform-Tools releases, and OEM bootloaders may support different commands.

4. fastboot help

fastboot help

Purpose: Displays Fastboot’s command help.

For the most accurate command list for your installation, running fastboot --help is preferable to relying on a generic online list.

Reboot Commands

5. fastboot reboot

fastboot reboot

Purpose: Reboots the device normally.

Use this after completing a Fastboot operation when you want Android to start.

6. fastboot reboot bootloader

fastboot reboot bootloader

Purpose: Reboots the device back into bootloader/Fastboot mode.

This is useful when you need to perform several flashing operations without manually entering Fastboot mode again.

7. fastboot reboot-bootloader

fastboot reboot-bootloader

Purpose: Reboots directly back into the bootloader.

The command is especially useful in firmware workflows that require the bootloader to be restarted before additional operations are performed.

8. fastboot reboot fastboot

fastboot reboot fastboot

Purpose: Reboots a supported device into fastbootd.

Fastbootd is different from the traditional bootloader Fastboot environment. Modern Android devices using dynamic partitions may require fastbootd for certain partition operations. Android’s documentation describes bootloader Fastboot and userspace Fastboot as separate environments.

9. fastboot reboot recovery

On devices supporting this command:

fastboot reboot recovery

Purpose: Reboots into recovery mode.

Support can depend on the device’s bootloader implementation.

Bootloader Unlock Commands

Bootloader unlocking is one of the most common reasons people use Fastboot.

10. fastboot flashing get_unlock_ability

fastboot flashing get_unlock_ability

Purpose: Checks whether the bootloader is configured to allow unlocking.

A device may return a value such as:

(bootloader) get_unlock_ability: 1

A value of 1 generally indicates that unlocking is permitted by the bootloader.

11. fastboot flashing unlock

fastboot flashing unlock

Purpose: Requests bootloader unlocking on devices that use the standard Android Fastboot unlocking mechanism.

Android’s official documentation notes that unlocking normally requires the device’s unlock capability to be enabled. The unlocking process can also erase user data as a security measure.

On many phones, you must first enable OEM unlocking in Developer Options.

12. fastboot flashing lock

fastboot flashing lock

Purpose: Relocks the bootloader on supported devices.

Do not use this command blindly after installing modified software. A device should normally be returned to an appropriate official software state before relocking.

13. fastboot flashing unlock_critical

fastboot flashing unlock_critical

Purpose: Enables flashing of critical bootloader-related partitions on devices that support this mechanism.

This is an advanced command and should only be used when the device’s flashing instructions specifically require it.

14. fastboot flashing lock_critical

fastboot flashing lock_critical

Purpose: Locks critical bootloader-related partitions again.

The standard Fastboot tool includes separate commands for ordinary and critical bootloader locking.

Flashing Commands

15. fastboot flash

This is one of the most important Fastboot commands.

Basic syntax:

fastboot flash <partition> <image>

Example:

fastboot flash boot boot.img

This writes boot.img to the boot partition.

Another example:

fastboot flash recovery recovery.img

The exact partitions available depend on the device.

Fastboot’s command reference defines flash as writing an image to a specified flash partition.

Common examples

fastboot flash boot boot.img
fastboot flash vendor vendor.img
fastboot flash system system.img
fastboot flash vbmeta vbmeta.img

Important: Do not assume that every phone has all of these partitions as directly flashable partitions. Modern Android devices can use dynamic partitions and other layouts.

16. fastboot flash boot

fastboot flash boot boot.img

Purpose: Flashes a boot image to the boot partition.

This is frequently used when testing a modified or patched boot image.

17. fastboot flash recovery

fastboot flash recovery recovery.img

Purpose: Flashes a recovery image on devices that have a dedicated recovery partition.

Newer Android devices may use different recovery arrangements, so this command is not universally applicable.

18. fastboot flash vendor

fastboot flash vendor vendor.img

Purpose: Writes a vendor image to the vendor partition.

Only use the image supplied for the exact device/build.

19. fastboot flash system

fastboot flash system system.img

Purpose: Flashes a system image to the system partition when the device’s partition layout supports this operation.

Dynamic partition devices may require fastbootd instead.

20. fastboot flash vbmeta

fastboot flash vbmeta vbmeta.img

Purpose: Flashes a vbmeta image.

Verified Boot uses metadata to verify parts of the Android software stack. Incorrectly flashing or modifying vbmeta can prevent the phone from booting.

Boot Image Without Flashing

21. fastboot boot

fastboot boot boot.img

Purpose: Downloads a boot image and attempts to boot it directly rather than permanently flashing it to a partition.

This can be useful for testing a compatible boot image.

The current Fastboot source describes boot as downloading and booting a kernel from RAM.

Whether a particular device permits this operation depends on its bootloader and security configuration.

22. fastboot flash:raw

fastboot flash:raw boot boot.img

Purpose: Creates a boot image from the supplied components and flashes it.

The command also supports supplying a kernel, ramdisk and, where applicable, a second image component.

For example:

fastboot flash:raw boot kernel ramdisk.img

This is mainly an advanced development command rather than a normal consumer flashing command.

Erase and Format Commands

23. fastboot erase

fastboot erase <partition>

Example:

fastboot erase userdata

Purpose: Erases the specified partition.

Another example:

fastboot erase system

However, erasing a system or other important partition can leave the phone unable to boot until appropriate software is flashed.

Android’s Fastboot specification defines erase as clearing the selected partition.

24. fastboot -w

fastboot -w

Purpose: Wipes user data and cache where supported.

This is commonly used during certain clean-flash procedures.

Warning: It can remove personal data from the device.

Android’s current Fastboot implementation describes -w as erasing userdata and cache and formatting them where the partition type supports it.

25. fastboot format

Basic syntax:

fastboot format <partition>

Example:

fastboot format userdata

You can also specify a filesystem type on supported configurations:

fastboot format:ext4 userdata

The exact syntax and filesystem support depend on the Fastboot implementation and device.

Slot and A/B Device Commands

Modern Android devices may use A/B slots so that system updates can be installed to an inactive slot.

26. fastboot getvar current-slot

fastboot getvar current-slot

Purpose: Shows the currently active slot.

Possible output:

(bootloader) current-slot: a

or:

(bootloader) current-slot: b

27. fastboot set_active

fastboot set_active a

or:

fastboot set_active b

Purpose: Changes the active slot on devices that support slots.

The Fastboot implementation provides set_active specifically for selecting the active slot.

Be careful when changing slots manually. The alternate slot may not contain a bootable Android installation.

28. fastboot --slot

The --slot option can be used to select a slot for applicable commands.

Example:

fastboot --slot=a flash boot boot.img

Another example:

fastboot --slot=b flash boot boot.img

This is useful when working with A/B partition layouts.

Fastboot Variables

29. fastboot getvar

Basic syntax:

fastboot getvar <variable>

Example:

fastboot getvar product

Other useful examples include:

fastboot getvar serialno
fastboot getvar version
fastboot getvar version-bootloader
fastboot getvar secure
fastboot getvar is-userspace
fastboot getvar current-slot

Fastboot’s protocol specification includes variables for the Fastboot protocol version, bootloader version, product name, serial number, security state and whether the device is running userspace Fastboot.

About fastboot getvar all

You may see this command in many Android guides:

fastboot getvar all

It asks the device for a broad set of bootloader variables on implementations that support the behavior.

However, output varies by device and bootloader, so it should not be treated as a universal list of variables.

Dynamic Partition Commands

Dynamic partitions are an important part of modern Android devices. They are managed through the super partition and can behave differently from traditional physical partitions.

30. fastboot is-userspace

fastboot getvar is-userspace

If the output indicates:

is-userspace: yes

the device is running fastbootd rather than bootloader Fastboot.

31. fastboot getvar is-logical

fastboot getvar is-logical:system

Purpose: Checks whether a partition is a logical partition.

The Fastboot protocol defines is-logical:<partition> for determining whether a partition is logical or physical.

32. fastboot create-logical-partition

fastboot create-logical-partition <name> <size>

Example:

fastboot create-logical-partition test 100000000

Purpose: Creates a logical partition with the specified name and size inside the super partition.

This is an advanced command and should not be used unless the device’s flashing instructions require it.

33. fastboot delete-logical-partition

fastboot delete-logical-partition <name>

Example:

fastboot delete-logical-partition product_a

Purpose: Deletes a logical partition.

This command can be useful during specialized GSI or dynamic-partition procedures. Android’s official GSI documentation gives delete-logical-partition as an example for freeing space when a system partition cannot be resized.

34. fastboot resize-logical-partition

fastboot resize-logical-partition <name> <size>

Example:

fastboot resize-logical-partition system_a 4000000000

Purpose: Changes the size of a logical partition.

The partition size must be appropriate for the device’s super-partition layout.

35. fastboot wipe-super

fastboot wipe-super

Purpose: Resets the super partition to an empty set of default dynamic partitions.

Some implementations also accept a supplied empty super image:

fastboot wipe-super super_empty.img

This is a powerful operation and should only be performed when a device-specific flashing procedure calls for it.

The current Fastboot command set includes wipe-super, along with commands for creating, deleting and resizing logical partitions.

36. fastboot update-super

fastboot update-super super.img

Purpose: Updates the super partition using an appropriate super image.

Android’s Fastboot documentation describes update-super as a special operation for a super image created by lpmake; its behavior differs from a normal flash operation.

GSI and Fastbootd Commands

37. fastboot gsi wipe

fastboot gsi wipe

Purpose: Removes or wipes a GSI installation on supported fastbootd implementations.

38. fastboot gsi disable

fastboot gsi disable

Purpose: Disables a GSI installation where the device supports the command.

The current Fastboot implementation lists both gsi wipe and gsi disable as fastbootd commands.

39. Flashing a GSI

A simplified example on a compatible device may look like:

fastboot reboot fastboot
fastboot erase system
fastboot flash system system.img
fastboot -w
fastboot reboot

However, GSI installation is highly device-dependent. Android’s documentation specifically warns that there is no single universal GSI flashing procedure for every Android device.

Therefore, the device manufacturer’s instructions and the specific GSI documentation should take priority over a generic command sequence.

Update and Factory-Image Commands

40. fastboot update

fastboot update update.zip

Purpose: Reflashes a device using a compatible update package.

The package and device must be compatible with the Fastboot implementation being used.

41. fastboot flashall

fastboot flashall

Purpose: Flashes the partitions defined by the available factory/build configuration.

The exact behavior depends on the Fastboot build and the files available to it. Current Android source describes flashall as flashing major images such as boot, system and vendor, with recovery where applicable.

This is generally intended for complete device flashing rather than changing a single partition.

Snapshot-Based Update Commands

Modern Android devices can use snapshot-based updates.

42. fastboot snapshot-update

The command supports operations such as:

fastboot snapshot-update cancel

and:

fastboot snapshot-update merge

cancel cancels an in-progress snapshot update, while merge can finish an update that is in the merging phase on supported devices.

These are advanced recovery/development commands and should not normally be used without understanding the device’s update state.

Fetching Partition Images

43. fastboot fetch

fastboot fetch <partition> <output-file>

Example:

fastboot fetch boot boot_backup.img

Purpose: Fetches a partition image from the device and saves it to a file where the device and Fastboot implementation support the operation.

The current Fastboot source lists fetch PARTITION OUT_FILE as the command for fetching a partition image from the device.

OEM Commands

44. fastboot oem

fastboot oem <command>

Example:

fastboot oem device-info

Purpose: Sends an OEM-specific command to the bootloader.

The important point is that fastboot oem does not represent one universal command. Manufacturers can implement their own OEM commands.

For example, one manufacturer may support:

fastboot oem device-info

while another may use completely different commands.

The current Fastboot source describes OEM commands as OEM-specific, so users should follow the documentation for their particular manufacturer and device.

Selecting a Specific Device

45. fastboot -s

When multiple Fastboot devices are connected, you can select one using its serial number.

Example:

fastboot -s ABC123456789 devices

Or:

fastboot -s ABC123456789 getvar product

This is useful when several phones or emulators are connected simultaneously.

Using a Specific Slot

46. fastboot --slot

Example:

fastboot --slot=a flash boot boot.img

You can also use:

fastboot --slot=b flash boot boot.img

On compatible A/B devices, this tells Fastboot which slot should be targeted.

The available slot behavior depends on the device’s partition configuration.

Useful Fastboot Options

Fastboot also provides options that modify how commands are executed.

-w

fastboot -w

Wipes user data and cache where supported.

-s

fastboot -s SERIAL_NUMBER <command>

Selects a specific connected device.

--slot

fastboot --slot=a <command>

Selects a target slot on compatible devices.

-S

fastboot -S 100M flash system system.img

Controls automatic sparse-file handling for large images.

-i

fastboot -i 0x18d1 devices

Specifies a USB vendor ID in configurations where this option is supported.

-u

fastboot -u format userdata

Prevents the erase-before-format behavior where applicable.

The exact available options can differ with Fastboot versions, which is another reason to check:

fastboot --help

The Android Fastboot source lists options including -w, -u, -s, -p, -i, -S, and slot-related options.

Common Fastboot Commands at a Glance

CommandMain Purpose
fastboot devicesCheck connected Fastboot devices
fastboot --versionCheck Fastboot version
fastboot --helpDisplay supported commands
fastboot getvar productCheck device/product name
fastboot getvar current-slotCheck active slot
fastboot getvar is-userspaceCheck whether fastbootd is active
fastboot rebootReboot normally
fastboot reboot bootloaderReboot to bootloader
fastboot reboot-bootloaderReboot to bootloader
fastboot reboot fastbootReboot to fastbootd
fastboot flashing unlockUnlock bootloader
fastboot flashing lockLock bootloader
fastboot flashing get_unlock_abilityCheck unlock availability
fastboot flashFlash an image
fastboot bootTemporarily boot an image
fastboot eraseErase a partition
fastboot formatFormat a partition
fastboot -wWipe userdata/cache
fastboot set_activeSelect active slot
fastboot updateFlash a compatible update package
fastboot flashallFlash supported factory images
fastboot gsi wipeWipe GSI on supported devices
fastboot gsi disableDisable GSI on supported devices
fastboot wipe-superReset dynamic partition layout
fastboot create-logical-partitionCreate logical partition
fastboot delete-logical-partitionDelete logical partition
fastboot resize-logical-partitionResize logical partition
fastboot update-superUpdate super partition
fastboot snapshot-updateManage snapshot update state
fastboot fetchRetrieve a partition image
fastboot oemRun OEM-specific command

Fastboot vs ADB: What Is the Difference?

Fastboot and ADB are related Android tools, but they operate at different stages.

FeatureADBFastboot
Normal Android runningYesUsually no
Bootloader communicationNoYes
Install APKsYesNo
Access Android shellYesNo
Flash partitionsNoYes
Unlock bootloaderNoYes, on supported devices
Reboot to bootloaderYesYes
Read bootloader variablesNoYes
Work with fastbootdNoYes

ADB is primarily intended for communicating with Android’s adbd service, while Fastboot communicates with the bootloader/fastboot environment. Both are included in Android SDK Platform-Tools.

How to Use Fastboot Safely

Fastboot is powerful, but it should not be treated like a normal Android command-line utility. A mistake involving the wrong partition or image can result in a non-booting device or permanent data loss.

Before flashing anything, check the following:

1. Confirm the exact phone model

Do not flash an image simply because its filename looks similar to your phone’s model.

2. Check the active slot

On an A/B device:

fastboot getvar current-slot

3. Check the product name

fastboot getvar product

4. Make sure the bootloader is allowed to flash

Some devices require an officially supported bootloader-unlocking process.

5. Use the latest Platform-Tools

Google recommends the latest SDK Platform-Tools package because newer versions include newer Fastboot functionality while maintaining broad backward compatibility.

6. Keep the correct firmware files ready

Use images specifically intended for your device and software build.

7. Avoid random erase commands

Commands such as:

fastboot erase system

or:

fastboot wipe-super

can have serious consequences.

8. Understand dynamic partitions

On newer Android phones, a partition may be logical rather than a traditional physical partition. Some operations may therefore need to be performed through fastbootd instead of the bootloader Fastboot environment.

Common Fastboot Errors

waiting for any device

If you see:

< waiting for any device >

the computer is not detecting the phone through Fastboot.

Try:

  • Reinstalling the Android USB driver.
  • Using another USB cable.
  • Trying another USB port.
  • Confirming that the phone is in Fastboot mode.
  • Installing the latest Platform-Tools.
  • Running fastboot devices.

FAILED (remote: 'Flashing is not allowed')

This usually indicates that the bootloader is locked or the particular partition cannot be flashed in the current state.

Check the device’s official unlocking requirements before proceeding.

Unknown command

An unknown-command error usually means that the command is not implemented by the Fastboot binary or the connected bootloader.

For example, an OEM-specific command may work on one manufacturer’s device and fail on another.

Not enough space to resize partition

This can occur when working with dynamic partitions or GSI installations.

Android’s GSI documentation describes this type of error and provides device-specific examples involving logical partitions.

Do not randomly delete partitions to solve the problem. Follow the flashing instructions for the exact device.

Frequently Asked Questions

What is the most commonly used Fastboot command?

fastboot devices is generally the first command to use because it confirms whether the computer can communicate with the phone in Fastboot mode.

Does Fastboot erase data?

Not every Fastboot command erases data. However, commands such as:

fastboot -w

can wipe user data, and bootloader unlocking can also trigger a factory reset.

Can Fastboot install APK files?

No. APK installation is normally handled through ADB, for example:

adb install app.apk

Fastboot is intended for bootloader-level operations such as flashing images and controlling supported partitions.

Can Fastboot unlock every Android phone?

No. Unlocking depends on the device manufacturer, model, bootloader configuration and regional/software restrictions. Android’s standard unlocking mechanism is available only on devices that permit it.

What is Fastbootd?

Fastbootd is the userspace version of Fastboot. It is particularly important on modern Android devices using dynamic partitions, where certain partition operations cannot be performed by the traditional bootloader Fastboot environment.

Is fastboot erase system safe?

It is not a command that should be used casually. Erasing a system partition can make Android unable to boot until the correct system software is restored.

What is the difference between fastboot reboot and fastboot reboot bootloader?

fastboot reboot normally starts Android, while fastboot reboot bootloader sends the phone back into bootloader mode.

How can I see the Fastboot commands supported by my PC?

Run:

fastboot --help

This shows the commands supported by the Fastboot binary installed on your computer.

Final Words

Fastboot remains an important tool for Android troubleshooting, firmware installation, boot image testing, bootloader management and low-level device maintenance. The basic commands such as fastboot devices, fastboot getvar, fastboot reboot, fastboot flash and fastboot set_active cover many common tasks, while commands for dynamic partitions, GSI installations, snapshots and super partitions are intended for more advanced situations.

One important point for 2026 is that there is no single list of commands that works identically on every Android phone. The Fastboot client installed through Platform-Tools has its own supported command set, while the connected bootloader can add device-specific behavior. OEM commands are particularly different between manufacturers. Google’s current Fastboot source also includes newer functionality such as fetch, snapshot-update operations and dynamic-partition management.

For that reason, always start with:

fastboot devices
fastboot --help
fastboot getvar product
fastboot getvar current-slot

Then follow the official flashing instructions for the exact phone model before using commands that modify or erase partitions.

Note: Product details, pricing, and availability may change over time. While we try to keep information accurate, please verify details from the official website before purchasing. Some content may be assisted by AI tools like ChatGPT, and some articles may contain affiliate links that may earn us a small commission at no extra cost to you. Reviews, opinions, and feature highlights are based on official specifications and publicly available information at the time of writing.

Explore our News Section for daily updates and the latest tech news.Join our WhatsApp Channel for instant updates.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top