Have you accidentally messed up your phone, removed the OS, don’t feel right on custom ROMs, or want to turn in your Moto G smartphone for servicing? Here today at DroidOrigin, we will assist you on, how to restore stock firmware on Moto G. The process is easy, and only requires you to flash the stock firmware/factory image via fastboot commands. The supported device list includes the following, in simple words, only the following could be restored using this tutorial.

  • Moto G (1st, 2nd, & 3rd Gen)
  • Moto G Turbo Edition

All you will need, is the factory image for your model and variant. Be careful while searching for this, flashing the wrong files may permanently damage your phone.Β The procedure is nearly same for all the devices and could be followed correctly with a little awareness.


Manually flashing firmware may soft-brick your Moto G if done wrong. DroidOrigin or any of its members shall not be held responsible for any damage to your phone. However, we will definitely assist you if you come across any such situation.



Moto G 1st Gen Factory Images (Thanks to lost101): Link

Moto G 2nd Gen Factory Images (Thanks to Lucas Eugene): Link

Moto G 3rd Gen & Turbo Edition Factory Images (Thanks to lost101): Link


  • Your Moto G must have an unlocked bootloader. If it doesn’t, follow the steps here.
  • Install Motorola drivers: Link
  • Install Android SDK on your Windows machine for ADB and fastboot. Alternatively, you can also use the 15 seconds ADB Installer.
  • This process will erase your device completely, so backup your phone completely, include the internal storage.
  • Charge your Moto G to at least 60% battery level to avoid any sudden shut downs, during the procedure.
  • Enable USB debugging on your Moto G. You can follow the steps here.

Restore Stock Firmware on Moto G

  1. Download the factory image corresponding to your Moto G variant and model. Extract the downloaded firmware.
  2. Go to the folder where the firmware has been extracted.
  3. On an empty space inside the folder, press SHIFT key and right-click on an empty space. Select Open command window here from the pop-up that appears.
  4. Connect your phone to the PC, and make sure it is unlocked. Enter the following command in the command-line window:
    adb reboot bootloader
  5. Your Moto G smartphone will now enter bootloader mode. This is where we will flash the factory image.

    Moto G Turbo Edition Bootloader Mode
    // Bootloader mode on Moto G Turbo Edition
  6. Once it has, make sure that fastboot detects your device by entering the following command:
    fastboot devices
  7. The above command will return an output with the device ID and mode-name.
  8. Enter the following commands now to flash the factory image. There may be a chance that your device or variant has an extra or a less number ofΒ system.img_sparsechunk file, so make sure to flash accordingly. If you are downgrading your Moto G’s firmware, do not flash gpt.bin and bootloader.img/motoboot.img file.
    fastboot oem fb_mode_set
    fastboot flash partition gpt.bin
    fastboot flash motoboot motoboot.img
    fastboot flash logo logo.bin
    fastboot flash boot boot.img
    fastboot flash recovery recovery.img
    fastboot flash system system.img_sparsechunk.0
    fastboot flash system system.img_sparsechunk.1
    fastboot flash system system.img_sparsechunk.2
    fastboot flash system system.img_sparsechunk.3
    fastboot flash system system.img_sparsechunk.4
    fastboot flash system system.img_sparsechunk.5
    fastboot flash modem NON-HLOS.bin
    fastboot erase modemst1
    fastboot erase modemst2
    fastboot flash fsg fsg.mbn
    fastboot erase cache
    fastboot erase userdata
    fastboot oem fb_mode_clear
  9. Once everything is done, reboot the phone:
    fastboot reboot

And that was it. Pretty easy for anyone to follow. If you have any queries or feel stuck somewhere, let us know via the comments below.

Also read –Β Manually Install Android Marshmallow OTA on Moto G3


Previous articleHow to Add Multiple Accounts on Instagram for Android
Next articleEasy ways to reduce data usage on Android devices
Dhananjay (DJ) is an Android devotee and a Tech Blogger by profession. He is a keen undergraduate, seeking and working hard on his ambitions to achieve something distinctive in his life. He prefers interacting with his readers in the most reproaching manner possible and his desires here are not just to reach out the tech figures, but also attract those non-interested minds to our Android universe. He proudly owns Nexus 6P, Nexus 5, OnePlus One and a Nexus 4.
  • Kunal Varaiya

    I have got my moto G 1st gen blank.. it won’t just start up.. when I plug in, it does show in charging mode..
    Will flashing help out??
    How to flash when I have got the screen blank??

    • Yes, flashing may help out. But only if we get a better look at the situation. The most imperative part is that you must be able to put your device into bootloader mode. So, are you able to do that on your Moto G 1st Gen?

      • Kunal Varaiya

        How to check the bootloader mode?
        Could you please guide me..

        • To enter bootloader mode or Boot Mode Selection Menu follow the instructions below:
          1) Power off your device completely and also make sure that it is unplugged from the USB charger or cable.
          2) Press and hold the power button and volume down button for approximately 3 seconds.

          You should now be able to see the boot menu.

          • Kunal Varaiya

            I tried this for almost 10-12 times and with long duration but it doesn’t respond.

          • So basically all you see is a black screen lighted up?

      • Sanchit Kelkar

        Can i do above procedure if i have twrp and a custom rom flashed… So i want my stock rom back. Can i proceed with your above steps.. Please help..!!

        • Dhananjay

          Yes you can. But! Skip the motoboot.img and gpt.bin commands in case you are downgrading. The rest of the process shall be same.

  • alex

    Please help! if the firmware i downloaded doesn’t have system.img_sparsechunk0 through 5 do i still have to flash all of them or only the ones that my firmware has?

    • Hello Alex, you will only need to flash the amount of sparsechunk files that you have. Some firmware have 4, while others even have more than 5.

  • Bhanu Chopra

    Bro help me i trying to this but i can’t.reason is when i apply commands ,its shows ur bootloader is denied permission .my phone bootloader is unlocked …so, tell me how to allow all permission s…help me ..and one more thing when i go in fastboot mode .my baseband is unknown .why ? Help me bro

    • Hello Bhanu, could you please share a picture of your Moto G’s bootloader mode? And also, kindly specify the exact the model of your device. It will allow us to better track down the issue to its root.

  • Marcelo Curado

    Hi! I think the command line fastboot flash bootloader bootloader.img is misplaced here. Shouldn’t be fastboot flash motoboot motoboot.img instead?

    • Hello. Thank you for notifying this to us. Have updated the command accordingly. πŸ™‚

      • Marcelo Curado

        Tks! I dont know if you can help me once again. But after I have installed the stock version over a custom rom that my moto g2 had, now every time that the smartphone turns on it fist appear the bootloader mode screen, then I need to choose “Normal Powerup” and then the smartphone starts… do you wanna what I could have done wrong and how can I fix it? Tks!

        • Okay. So, switch your device off. Power it on and now when it is in bootloader mode, you should see “Fastboot Reason:”. There should be line after that, kindly paste it here.

          • Marcelo Curado

            It says: UTAG “bootmode” configured as fastboot

          • Okay, so while your device is in bootloader mode, connect it to the PC and enter the follow command: “fastboot oem fb_mode_clear”

          • Marcelo Curado

            Tks! Working smoothly now!

          • You’re welcome. If you need any other help, you can comment here or reach to us

          • I have also updated the article with this command, so that further users would not come across such situation.

          • Marcelo Curado

            Great! πŸ™‚

  • Jayaprakash N

    Hi When i am flashing gpt.bin and motoboot.img, getting Preflash validation error. My moto 9 is already unlocked. Becz of this now my moto g is not at all booting. Only fastboot mode i am able to enter. Please help on with this error. I could not find correct info on this.

    $ ./fastboot-mac flash partition gpt.bin
    target reported max download size of 536870912 bytes
    sending ‘partition’ (32 KB)…
    OKAY [ 0.038s]
    writing ‘partition’…
    (bootloader) Preflash validation failed
    FAILED (remote failure)
    finished. total time: 0.315s

    • Hello, kindly skip the motoboot.img and gpt.bin if you’re downgrading. There are strong chances that you might hard brick your device.

  • Robert Clarke

    I just cannot get past the sparsechunks – I keep getting an error. I have used fastboot and mfastboot but both fail.

    C:Mfastboot>mfastboot flash system system.img_sparsechunk.0
    target max-sparse-size: 256MB
    sending ‘system’ (257451 KB)…
    FAILED (data transfer failure (Unknown error))
    finished. total time: 300.660s

    any idea?

    • Try a different USB port on your PC. Also, if there are any other USB devices connected like external HDD, USB drives, or webcams, remove them momentarily.

  • D GOD

    I did everything while rebooting after bootloader message, android image with erasing comes. from there its just a loop. The device doesn’t start. Please help
    I downloaded XT1550 2gb firmware

    • Hello, please state the exact model of your device. Are you sure you downloaded the firmware for your model? Also, have to tried to downgrade from a higher to lower Android version during this process?

  • chinmay ambekar

    If you are downgrading your Moto G’s firmware, do not flash gpt.bin and bootloader.img/motoboot.img file.

    this lines made my day thanks man ue awesome no one mention this lines in youtube.or anywhere thanks u man

    • It’s always better to provide the most important information first. You are welcome Chinmay.

  • rahul

    hi, I have motog3 xt1550 2gb marshmallow (india), NOT ROOTED, but bootloader is unlocked, and I want to relock my bootloader,
    but everytime when I am flashing my stock rom, I am facing bootloader pre flash failed !! all my sparsechunk files also get fails I have 7 sparsechunk files, my device is not getting flash but just factory reset everytime due to that command “ERASE” !! why am I facing this problems ? what to do ? why is it getting failed everytime ? what is this downgrading process ? can your guide me in detail about it ? πŸ™

    • Okay. Try this, before entering any of these commands, enter “fastboot oem fb_mode_set” and then go through with all the commands.

      • rahul

        but can you tell me, why is it getting failed ? reasons

        • Which firmware file are you using?

          • rahul

            XT1550_OSPREY_RETASIA_DS_2GB_6.0.1_MPI24.107-55-2_cid7_subsidy-DEFAULT_CFC.xml …. I was trying to flash this as it was similar to my previous firmware which was :-

            *2gb ram,
            *running marshmallow 6.0.1,
            *androidSecurity Level 1 Jan 2017
            *BUILD NO= MPIS124.107-55-2-12,
            *SYS VERSION= 24.216.12.osprey_retasia_ds_2gb.retasia.en.03.reti

          • Seems like you are trying to flash an older build. If doing so, try skipping the bootloader.img/motoboot.img and gpt.bin commands. See if you succeed then.

          • rahul

            You know sir, on xda developers, they said that, I can’t lock my bootloader, untill the latest full factory image released.. so I cant lock my bootloader on this older image ? πŸ™

          • Yes. Either you have to wait for the latest release that was installed on your device. Or, you can try skipping the following commands and try again: fastboot flash partition gpt.bin
            fastboot flash motoboot motoboot.img

            Since you are trying to downgrade to lower version, kindly read step #8 of the guide again.

          • rahul

            Ok thankyou so much sir, ill let you know if it works, but should i try adding bootloader re-locking commands with it ? or just flash without it
            .and how would i know, if latest factory image has released for my motog3? andy signs you can tell me for that ?

          • Yes. Add the re-locking commands. Basically all the commands stay the same. You just have to skip the commands i mentioned.

            As for the latest factory image, you have to keep an eye out on the XDA thread: http://forum.xda-developers.com/2015-moto-g/general/guide-fastboot-flashing-factory-t3187750

          • rahul

            “How do I downgrade to an older Firmware?
            Downgrading carries risks, and may result in constant nagging notifications to update Android. Decide carefully if this is really what you want. With earlier generations of Moto G flashing bootloader.img and gpt.bin has resulted in a hard-brick. Avoid flashing these files if you are trying to downgrade. The safer option is to find a custom Stock ROM with OTA Updates disabled.”

            Sir as a guy said this on that topic…Why it is riskier ? after downgrading i can’t update my phone ? “The safer option is to find a custom Stock ROM with OTA Updates disabled.” how can i disable that OTA Updates ? and custom stock rom means my original rom, right ?

          • There is no risk if you skip the bootloader and gpt.bin (which is the partition map). Yes, If I was art your situation, I would have avoided to downgrade, until an updated stock ROM is available.

            You can always update your phone after you downgrade. Updates only require one thing – your device should be stock completely.

            Tell me something, why are you trying to relock the bootloader? Any specific reasons?

          • rahul

            Yes sir, actually i dont know anything about android, that’s why i needed someone like you to guide me,
            yes, they unlocking bootloader may cause some system functions to work improperly, and now i am afraid, that’s why i wanted to relock it

          • Don’t worry about that. I would only advise you to wait for higher version of the stock ROM if you want to restore it and relock it.

          • rahul

            thankyou so much dhananjay sir, YOU ROCK !

          • That’s all because you guys are reading my blog πŸ™‚ Thank you Rahul for the generous words.

          • rahul

            But sir you know what, my phone didn’t got flashed but just got factory reset πŸ™ its not even getting flash I don’t know why ? πŸ™

  • Ekhlas uddin

    Hello Dhananjay, I have a MOTO G 1st Gen (Dual-SIM),
    after following all of those command lines above, when i rebooted my phone, it is stuck at ‘M logo powered by Android’ screen. Trying to load stock firmware and this is my first try ever. The phone already had a custom cyanogen ROM, someone did it and I lost contact with him. I dont know if i’m making any sense or not, please help if u can understand. I tried the following file: “Retail Asia 5.0.2 Stock ROM (Untouched) (519mb)” from lost101’s post.
    Note: While entering the commands above, many of the commands returned “error: cannot load ‘logo.bin'” and same for sparsechunk files, recovery.img and NON-HLOS.bin too. I thought that it might be normal, but now I am not so sure. Help.