Home » How do I root my Android device?

How do I root my Android device?




Before rooting, you might have some questions about it. Fortunately, they’ve already been answered! Refer to the handy list below:

  • What does “to root a phone” mean?
  • What is the difference between: Rooting, Jailbreak, ROM, Mod, etc.?
  • Are there any risks to rooting a device?
  • What do I gain from rooting?
  • Do all applications run as root on a rooted phone?
  • See the sidebar to the right for more potentially relevant questions!

How do I do root?

Note there is no known method that will root all devices, nor is there any guarantee that any mentioned program or method will actually work. This is because there are many variables at play and device OEMs have no incentive to make the process easy.

A final caution: Your warranties may be voided, you may screw up your device, and there may also be other adverse effects. If you do not want to risk it, stop now. If you are not confident in what you are doing, please do not deviate from the guides and read carefully.

The easiest way to root your device is via “one click” methods, most of which are developed for more popular devices. Examples include applications (.apk files) you can run on your device, or software you have to run on a PC while connecting the device with USB. Other methods may involve many steps or manual editing of files.

Methods typically vary between models and even between firmware versions of the same model. Check your rooting method is compatible with:

  • Your device model/brand (e.g. Samsung Note)
  • Your Android version (e.g. 4.4 KitKat vs 5.1 Lollipop)
  • Your firmware version (e.g. European vs. USA vs. Verizon telecom provider)
  • Your hardware version (e.g. 32GB model with antenna vs. 16GB without one)

Rooting Guides Index

These are links to questions on this site that have been asked for specific devices. If the question for your device hasn’t been answered, don’t post a duplicate — you can attract attention to the question by offering a bounty on it, sharing the link, posting in our chatroom, etc.


  • Iconia A100
  • Iconia A500
  • Liquid Mini
  • Liquid Z630S
  • Liquid Zest


  • Fire TV
  • Kindle Fire Version 6.x / 10.x
  • Kindle Fire 5th gen (aka 2015)
  • Kindle Fire HD


  • Archos 70 Xenon Color (Android 5.1)
  • Archos 97b Platium HD
  • 101 XS Tablet


  • Eee Pad Transformer
  • Fonepad 8
  • Fonepad K004 (post deleted (aka ME371MG))
  • Memo Pad HD 7
  • Nexus 7
  • ZenFone 3 Max
  • ZenFone 5
  • ZenPad S 8.0
  • Zenfone 2 ZE551ML


  • Amaze
  • Desire 300 (aka “Zara Mini”)
  • Desire 500
  • Desire 625
  • Desire
  • Desire Bravo
  • Desire Z
  • Dream (aka G1)
  • Evo
  • Evo 4G
  • Gratia
  • Hero
  • Incredible 2 (Verizon)
  • Incredible S
  • Legend
  • Magic
  • myTouch 4G Slide
  • myTouch Q
  • Nexus ONE
  • One S
  • One V
  • One X
  • One XL
  • Salsa
  • Thunderbolt
  • Wildfire


  • Ascend Y330
  • Ascend Y530
  • G330D U8825D
  • Mate 8 (aka Ascend Mate8)
  • Mediapad S7-301U
  • Nexus 6P
  • P1 U9202L
  • PLDT Telpad QS S7-961WD
  • U8160 (Vodafone 858)
  • X3 U8510
  • Y210


  • A7 + Smart Tab 7 (possibly same for A5)
  • Titanium Mach Two S360
  • Titanium S5


  • A660
  • A1000 Smartphone
  • A7000
  • S920
  • Thinkpad


  • Escape
  • G2
  • G3
  • G4
  • Motion 4G
  • MS 330 (aka K7)
  • MS 690
  • Nexus 4
  • Nexus 5
  • Optimus 2X
  • Optimus 4X
  • Optimus L7 II – P713
  • Optimus L7 II – P715
  • Optimus L70™ LGMS323
  • Optimus Logic
  • Optimus M
  • Optimus Slider VM701
  • P500


  • A089 Bolt
  • A25
  • A65 Bolt
  • A87
  • Canvas A1 AQ4501
  • Canvas A116 (Canvas HD)
  • Canvas 2 A110
  • Canvas 2 Plus A110Q


  • Defy
  • Defy XT
  • Droid 3
  • Droid Maxx
  • Droid Razr
  • Droid Razr M
  • Droid Razr Maxx HD
  • Droid X
  • Droid X2
  • Fire XT316
  • Flipside
  • Moto G
  • Moto G XT1032/XT1033
  • Moto G 2014 2nd Gen (XT1063, XT1064, XT1068 and XT106)
  • Moto X stock Kitkat
  • Moto X Play


  • Nook Color
  • Nook HD


  • OnePlus One
  • OnePlus 3
  • OnePlus 3T
  • OnePlus 5


  • MultiPad PMP3670B
  • PAP 7500


  • Admire R720 (Also known as Samsung Vitality)
  • Captivate
  • Epic Galaxy 4G (SPH-D700)
  • Fascinate
  • Galaxy A3 2016 (SM-A310F)
  • Galaxy A5
  • Galaxy Ace Plus
  • Galaxy Ace S5830i
  • Galaxy Alpha SM-G850A
  • Galaxy Attain 4G
  • Galaxy Chat B5330
  • Galaxy Core i8262
  • Galaxy Fit
  • Galaxy Grand Duos
  • Galaxy Grand Quattro
  • Galaxy Note 2
  • Galaxy Note 3
  • Galaxy Note N7000
  • Galaxy Player
  • Galaxy Precedent
  • Galaxy S
  • Galaxy S Advance/S II Lite i9070
  • Galaxy S2 GT-i9100, GT-I9100P, GT-I9100G
  • Galaxy S2 plus
  • Galaxy S3 i9300, i9305
  • Galaxy S3 Duos3
  • Galaxy S3 Lite (S6790)
  • Galaxy S3 Mini GT-i8190
  • Galaxy S4 GT-I9500 (Android 4.4.2) (build XXUBMH1)
  • Galaxy S4 GT-I9505
  • Galaxy S4 Mini GT-I9195
  • Galaxy S4 SCH-I545
  • Galaxy S4 SGH-I337
  • Galaxy S4 SGH-M919
  • Galaxy S5 SM-G900V (Verizon) on Lollipop
  • Galaxy S6 / S6 Edge / S6 @ Sprint / S6 Edge @ Verizon (S6 Edge is S6 but has curved screen)
  • Galaxy S7 / S7 Edge (us carriers)
  • Galaxy SL GT i9003
  • Galaxy Star Duos S5282
  • Galaxy Star Pro (S7260)
  • Galaxy Stellar
  • Galaxy Tab
  • Galaxy Tab A (SM-P550)
  • Galaxy Tab 10.1
  • Galaxy Tab 3 10.1
  • Galaxy V
  • Galaxy Young 2 (SM-G130HN)
  • Infuse (i997)
  • Infuse 4G
  • J5
  • Nexus S | on Gingerbread
  • Spica
  • Xcover3 (SM-G388F)


  • Xperia Arc S
  • Xperia J
  • Xperia Mini ST15i
  • Xperia Mini Pro SK17i
  • Xperia Neo V (MT11i)
  • Xperia P
  • Xperia Play
  • Xperia Pro MK16a/i
  • Xperia Ray ST18i
  • Xperia S
  • Xperia Sola (MT27i)
  • Xperia SP (C530x)
  • Xperia Tipo
  • Xperia Tipo Dual
  • Xperia T2 Ultra Dual
  • Xperia T3
  • Xperia U
  • Xperia X8
  • Xperia Z1
  • Xperia Z2
  • Xperia Z3


  • SC6830
  • SP8810 (Wynncom G1)


  • Xolo One
  • Xolo Q1010i


  • DL 800
  • Fury
  • Score
  • Optik
  • Origin
  • Prestige
  • Zinger (Z667T)


  • Alcatel OT-997D
  • Alcatel One Touch Mini Idol 2
  • Android Emulator
  • Arnova GBook
  • Azpen A727
  • Casio Commando
  • Celkon A95 Pro
  • Chinavasion TechPad
  • Cruz Tablet
  • Dell Streak 5 / Mini 5
  • Doogee Voyager2 DG310
  • Emdoor EM79 c
  • EPad MX1014
  • Freelander PX2 tablet
  • General Mobile e-tab 7b
  • Gionee P5W
  • HP Pro Slate 12
  • Innos A35
  • Kyocera Echo
  • Lava Iris 504q
  • Mpie MP707
  • Oppo N1
  • Pandigital Novel
  • Pantech Crossover P8000
  • Prizma VSGK845
  • RealPower MT65515-C910
  • TCL Idol X (S950)
  • Teac TC-7120
  • Teclast tPad
  • Toshiba AT100
  • Viewsonic gTablet
  • Xiaomi Mi A1
  • Wileyfox Swift
  • Yarvik tab 411


  • Chainfire’s CF-Autoroot (follow link for a list of supported devices). Supports plenty of Samsung devices, plus some Motorolas and the Nexus line
  • Droid X Recovery Bootstrap (Motorola Droid/Droid2/Droid X, probably Android 2.x only)
  • Framaroot – One-click rooting and unrooting; supports a number of devices using Qualcomm, MTK, Exynos, Omap and other SOCs (Android 2.x to 4.x)
  • Gingerbread exploit app – Works on 2.1 and 2.2, as well as early 2.3 releases (hence the name).
  • Gnex Toolkit – Software for rooting and handling your Galaxy Nexus phone.
  • Google Nexus 7 Toolkit – Software for rooting and handling your Nexus 7 tablet.
  • iRoot a One Click Root (see here for supported devices
  • Kingoapp Root: Pratically roots most androids in 1-click and supports Android 4.1 to 6.0. Even unlocks some bootloaders. Also see Wikipedia.
  • KingoRoot: Android 6
  • Kingroot: Easy to use and fast rooting. Works on almost every Android phone.
  • Magisk: requires custom ROM to be installed. Also see this guide at AndroidPolice.
  • Ready2root collected a lot of available rooting methods
  • Root Many Android (ICS/JB devices)
  • ROOTx supports a selection of devices produced prior to 10/2014
  • SRSRoot One Click Root for Android (SuperUser) lists supported devices on their page. Download is an .exe file, so it probably requires Windows. Android 4.1 to 6.0 (?)
  • SuperOneClick
  • Towelroot should support all phones with a kernel built before June 3, 2014
  • Universal Androot – Read the page to see what devices are supported. Mostly pre-2.2.1 versions of Android
  • Universal One Click – Make sure your device is support by reading the whole first post (probably not, last release was 10/2010 – so most likely 2.x devices only)
  • Unrevoked: some older HTC devices only
  • vRoot: Android 2.2 to 4.2
  • XDA Developers: The biggest resource for rooting, mods, etc.
  • Also check out the CyanogenMod wiki for other ways to root your device.

    • Here is a guide on how to root Android without a computer, naming each of the apps listed above and in-depth guides on how to use them.

I’ve rooted my device. Now what?

  • We have another question about that!
  • If you have another method or know how to root a device that’s not listed, feel free to add it to the list! Just follow the same format.

Related Solutions

Why not drop the “auto” keyword? [duplicate]

Your proposal would be rejected on the basis of backward compatibility alone. But let's say for the sake of argument that the standards committee like your idea. You don't take into account the numerous ways you can initialize a variable widget w; // (a) widget...

Recursive to iterative using a systematic method [closed]

So, to restate the question. We have a function f, in our case fac. def fac(n): if n==0: return 1 else: return n*fac(n-1) It is implemented recursively. We want to implement a function facOpt that does the same thing but iteratively. fac is written almost in...

How can I match values in one file to ranges from another?

if the data file sizes are not huge, there is a simpler way $ join input1 input2 | awk '$5<$4 && $3<$5 {print $2, $5-$3+1}' B100002 32 B100043 15 B123465 3 This Perl code seems to solve your problem It is a common idiom: to load the entire...

Javascript difference between “=” and “===” [duplicate]

You need to use == or === for equality checking. = is the assignment operator. You can read about assignment operators here on MDN. As a quick reference as you are learning JS: = assignment operator == equal to === equal value and equal type != not equal !==...

Compiler complains about misplaced else [closed]

Your compiler complains about an misplaced else because, well, there is an else without a preceding if: // ... for (j=1; j<n-i; j++) { if(a[j]<=a[j+1]) { // ... } // END OF IF } // END OF FOR else { continue; } // ... The else in your code does not follow...

Bootstrap – custom alerts with progress bar

/* !important are just used to overide the bootstrap css in the snippet */ .alertContainer { border-radius: 0 !important; border-width: 0 !important; padding: 0 !important; height: auto !important; position: absolute !important; bottom: 15px !important; left:...

How to Garbage Collect an external Javascript load?

Yes, s.onload = null is useful and will garbage collect! As of 2019, it is not possible to explicitly or programmatically trigger garbage collection in JavaScript. That means it collects when it wants. Although there is cases where setting to null may do a GC...

Math programming with python

At first, what you are looking for is the modulo operator and the function math.floor() Modulo from wikipedia: In computing, the modulo operation finds the remainder after division of one number by another (sometimes called modulus). for example: 12%12=0...

Android slide over letters to create a word [closed]

Here some advice you can use: First for each cell you can create an object that represents the state of that cell: class Cell { char mChar; int row,column; boolean isSelected; } then you can create a 2D array of your cells Cell[][] mTable = ... For views you...

Sum two integers in Java

You reused the x and y variable names (hence the variable x is already defined in method main error), and forgot to assign the ints read from the Scanner to the x and y variables. Besides, there's no need to create two Scanner objects. public static void...

Extend three classes that implements an interface in Java

Using this simplified implementation of the library, using method() instead of M(): interface IFC { void method(); } class A implements IFC { public void method() { System.out.println("method in A"); }; } As akuzminykh mentions in their comment You'd write a...

How to set the stream content in PHPExcel? [closed]

Okey, First thing first PHPExcel_Worksheet_MemoryDrawing() can't solve your problem if you insist to use stream content and pass that to your worksheet your PDF will not render your image. But you can use `PHPExcel_Worksheet_Drawing()' if you want to render...

How to remove all files from a directory?

Linux does not use extensions. It is up to the creator of the file to decide whether the name should have an extension. Linux looks at the first few bytes to figure out what kind of file it is dealing with. To remove all non-hidden files* in a directory use: rm...

Hacker used picture upload to get PHP code into my site

Client side validation The validation code you have provided is in JavaScript. That suggests it is code that you use to do the validation on the client. Rule number one of securing webapps is to never trust the client. The client is under the full control of...

First Time HTML5/CSS Site

Semantically, I would suggest using HTML5 elements more. For example, instead of... <div id="header"> <div id="logo"></div> </div> Use instead: (the ID can stay if you want it to) <header> <div id="logo"></div>...