More Than a Hobby..

Full OTA Images for Nexus and Pixel Devices

Full OTA Images for Nexus and Pixel Devices

This page contains full OTA update packages that allow you to restore your Nexus or Pixel device's original factory firmware. You will find these files useful if you have experienced a failure to take an OTA. This has the same effect as flashing the corresponding factory image, but without the need to wipe the device or unlock the bootloader.

These files are for use only on your personal Nexus or Pixel device and may not be disassembled, decompiled, reverse engineered, modified or redistributed by you or used in any way except as specifically set forth in the license terms that came with your device.

Downloading of the system image and use of the device software is subject to the Google Terms of Service. By continuing, you agree to the Google Terms of Service and Privacy Policy. Your downloading of the system image and use of the device software may also be subject to certain third-party terms of service, which can be found in Settings > About phone > Legal information, or as otherwise provided.

Updating instructions

To update a device using one of the OTA images below, you need the latest adb tool. You can get it from the Android SDK Platform-Tools package, which you can download here.

Don't forget to either add adb to your PATH environment variable or change into the directory containing the executable.

Also be certain that you've set up USB access for your device, as described in Run Apps on a Hardware Device.

To apply an OTA update image:

  1. Make sure that there is no pending OTA update, by going to Settings > About phone > System updates, which should say "Your system is up to date".
  2. Download the appropriate update image for your device below.
  3. Verify the checksum of the image: the OTA mechanism has a built-in validation feature, but verifying will save you some time if the file is incomplete. The last portion of the filename is the first 8 digits of its SHA-256 checksum; the full SHA-256 checksum is also shown next to the download link.
  4. With the device powered on and USB debugging enabled, execute:
    adb reboot recovery
    If you're unable to use adb to reboot into recovery, you can use the key combination for your device instead, and then select the Recovery option from the bootloader menu. The device is now in recovery mode and an Android logo with red exclamation mark should appear on screen.
  5. To access the recovery menu, hold the Power button and press Volume Up once. The recovery text menu will appear.
  6. To enter sideload mode, select the option Apply update from ADB.
  7. Run the following command:
    adb devices
    and check that your device shows up with "sideload" next to its name.
  8. Run the following command:
    adb sideload ota_file.zip
    where ota_file.zip is the name of the file you have downloaded and verified.
  9. Once the update finishes, reboot the phone by choosing Reboot system now.

For security, you should disable USB debugging when the device is not being updated.

"coral" for Pixel 4 XL

VersionDownloadSHA-256 Checksum
10.0.0 (QD1A.190821.007, Oct 2019) Link a80cd76e97a854b6306d8dac18bb7d8635d4d33e1140f90bbf254ef22348c5bf
10.0.0 (QD1A.190821.011, Oct 2019) Link f47dde8c9f79571abcc6bec8b023a623135351f37e0a7be6d6aa89673a142082
10.0.0 (QD1A.190821.011.C4, Oct 2019) Link 2d2325dbbbd60f90b79c46397e2201e6f0980d5d896962689031a64ac3ac5270
10.0.0 (QD1A.190821.007.A3, Nov 2019) Link c11bb7e0bc0c9e55972f9be88c954c4e863e3f74707a07a7ab9e4a461bd68bba
10.0.0 (QD1A.190821.014, Nov 2019) Link bf9f9dd725c70045dae360ee350771def649b44374c98abb0c4d0407d58c42cd
10.0.0 (QD1A.190821.014.C2, Nov 2019) Link 9d4e3d4c8ddb8a2b3dd3f3c8378b3975b134542041b0da5ff5b12424c0350b39
10.0.0 (QQ1B.191205.011, Dec 2019, EMEA carriers, T-Mobile (US), Google Fi) Link 5bf2f7cdb67ae090efcd51b15ce7af696a2e93207b47484af099763fc840b217
10.0.0 (QQ1B.191205.012.A1, Dec 2019) Link 03f7933b6177ea35915f62c1c571cce297d4d639651f552570e7c4b399f68991
10.0.0 (QQ1C.191205.016.A1, Dec 2019, SoftBank, TW carriers) Link 168e2420e863a15942b2dbafef423b48a6b230078ee12ff6b119aee9fe76df7e
10.0.0 (QQ1B.200105.004, Jan 2020) Link e0b3817f605e0b688b27794ec924c4eb2ab477c7893c936c1b71e299106135df
10.0.0 (QQ1C.200105.004, Jan 2020, TW & JP) Link 88bd5c50d1cb3575bd247c88d90b3eee04ee3df33356e1e56ac5c5b0c418e65b
10.0.0 (QQ1D.200105.002, Jan 2020, NTT DOCOMO) Link e780c659eee61821d3cd1393a23fca448c4a7ccd6310bbe93719e73e8cdffd36

"flame" for Pixel 4

VersionDownloadSHA-256 Checksum
10.0.0 (QD1A.190821.007, Oct 2019) Link 88cad89f459fdeb2d5a0ec13fe2b4ce1ba29a827a83fe9152ae8edebb7d935d4
10.0.0 (QD1A.190821.011, Oct 2019) Link 63183d817de803e49edbe21cd6087c8c4dd81af33d0ab6ece16761d1ff29d2b5
10.0.0 (QD1A.190821.011.C4, Oct 2019) Link e67422bdf73737a7b19967c1de02f39780d7ebcf5ba77260966a522238e5fd5e
10.0.0 (QD1A.190821.007.A3, Nov 2019) Link 16c9b189e53cad96df4562c7d4d4e5dbf7b7aeb2d9f525d24bd481021895cdc1
10.0.0 (QD1A.190821.014, Nov 2019) Link a1f9338ea1f406c76ef5b0b824d996bc23f64da618711b2cbbedd417cc466e2d
10.0.0 (QD1A.190821.014.C2, Nov 2019) Link 7941095cfdb713c7f5b9a3634336d030ea74ac0c3fd397392d5116ad9b97d9cb
10.0.0 (QQ1B.191205.011, Dec 2019, EMEA carriers, T-Mobile (US), Google Fi) Link 425059a2204b8f6799d91b7d9a18050599f70079acca268aa8605efc80d5a62f
10.0.0 (QQ1B.191205.012.A1, Dec 2019) Link 59de0d4d950a19f01d484df861d0e6a92531004ce922559f8c858c5630b223bf
10.0.0 (QQ1C.191205.016.A1, Dec 2019, SoftBank, TW carriers) Link 1d00af244b3a78c23e39b3bb43c491360a553050ffbbc69a2bbe7911849e2c81
10.0.0 (QQ1B.200105.004, Jan 2020) Link 886088d9ad45b89b4b47983312b0ab4e7f80def81a493e1139c748eea366e1ed
10.0.0 (QQ1C.200105.004, Jan 2020, TW & JP) Link a20155695aed5e87142d53223c295ac6f3dba98a63a245bf1fda969c494c19ec
10.0.0 (QQ1D.200105.002, Jan 2020, NTT DOCOMO) Link 84c07861816bf11b42add0b7923c35ded726c1c48830ff4203b64e58599f36eb

"bonito" for Pixel 3a XL

DescriptionDownloadSHA-256 Checksum
9.0.0 (PD2A.190115.029, Mar 2019) Link c6fe430da3e87b194201a36f86a7d6b52d46fe667143faa9e69c96938540b665
9.0.0 (PD2A.190115.032, Mar 2019) Link fc8c7aa13db1c54fe71210ae9259761d49a89493c9c5a4bb616f902c1fe3e643
9.0.0 (PQ3B.190605.006, Jun 2019) Link 63b7272885db5cd4ad36ac4388983f436df4a9236dda211d6467a1d0f2478cbd
9.0.0 (PQ3B.190705.003, Jul 2019) Link b3537a1eb0bf64953afd3c75f392fea8835f87020a3c7f02045b6f153d24caf9
9.0.0 (PQ3B.190801.002, Aug 2019) Link dd8e0f646507036f41091c470e0d2caa9270adb05790a586cd9f6c3a168e9595
10.0.0 (QP1A.190711.019, Sep 2019) Link c7421402c43d1777aff872412d3e7ae97c762eeb11c5027a620e075fe721802a
10.0.0 (QP1A.190711.020, Sep 2019) Link 8bd45d8f17bacc672dd5dc26ecb992f11795c005d534325da50c39f0b2a009ba
10.0.0 (QP1A.190711.020.C3, Sep 2019) Link b58094410a58d9e06515895bde75c9eb131da88efbff66346a33bd2a93e66a68
10.0.0 (QP1A.191005.007, Oct 2019) Link cfb0d182e5900423f4cd844bb22f2111f761e85c3163acc418b728ca226b81f4
10.0.0 (QP1A.191105.003, Nov 2019) Link e55dec410a112d84cff781cb00b28e99d56e844af05914fc7cef2193c2ba58f1
10.0.0 (QQ1A.191205.011, Dec 2019) Link 475fcd05c6e601adc99e5010523981f7a7b2f5dfc73ebeca35ef80370c44d332
10.0.0 (QQ1A.200105.002, Jan 2020) Link 592a20ac4d8c537c65a473efd2679b4bfd70fb9887fb588460524345d6ddcfee

"sargo" for Pixel 3a

DescriptionDownloadSHA-256 Checksum
9.0.0 (PD2A.190115.029, Mar 2019) Link 8673a81e7d6a9ff5617103df10c9d685937fe4f13ef3a4e298d15feabe045229
9.0.0 (PD2A.190115.032, Mar 2019) Link ee012043172d77a8fe772da70e8ef65d17efcd6abb2b373f4ed1e09f72f094e7
9.0.0 (PQ3B.190605.006, Jun 2019) Link 45ff7e3ef8c01b61c250445e1f994fd91778eaed29035f294778cd13e06b6b51
9.0.0 (PQ3B.190705.003, Jul 2019) Link 4ea924d29ee136ed926fe68acf762b32506f462512a11a74b5276a21dbc47120
9.0.0 (PQ3B.190801.002, Aug 2019) Link b79bd72404e62203107a46f4f82fef6fc7490d1fc4a6f00f7442337dbdec65d1
10.0.0 (QP1A.190711.019, Sep 2019) Link 5802831d95bab0a13ee0d8424e7048f9ebd3165ad9961cd0d21f9290cf0a37a7
10.0.0 (QP1A.190711.020, Sep 2019) Link 9118616cb33a82b7f10467c330905f08d893a4643e88402117937c58c0c669ca
10.0.0 (QP1A.190711.020.C3, Sep 2019) Link aaaebf26f668dcaef66b1370a2429fda7389f39db4d44302e86e24676a9312a9
10.0.0 (QP1A.191005.007, Oct 2019) Link 3650d4fbc40fea2f6ceca294a06ff0232f0a31e6894dbfe4d332d7a7f714ec58
10.0.0 (QP1A.191105.003, Nov 2019) Link a8fe178675344355384f433bc32ef5373de33ce195f24544e3f0cd01a352fa36
10.0.0 (QQ1A.191205.011, Dec 2019) Link 48752cc4c820d57b81b5f4007864fc8ed7bee8575e3f42bdf01c609753bd5cf2
10.0.0 (QQ1A.200105.002, Jan 2020) Link 3316c5ea9842f7634be3835a79ae34daa1aa02b0063fc45a86f9c96d6bb9e771

"crosshatch" for Pixel 3 XL

DescriptionDownloadSHA-256 Checksum
9.0.0 (PD1A.180720.030, Sep 2018) Link 21ac68ff9e6aacefec2be4c4dde1cfa0b45e0b4aefe412dc741c4f096cbc6af5
9.0.0 (PD1A.180720.031, Sep 2018, Verizon) Link e5f99be08947d7cb75d86d3c2c837d4d9b225a9d35f44be36728cc57402c62c4
9.0.0 (PQ1A.181105.017.A1, Nov 2018) Link feb712c3ca8b5b58a13543969dde22702ecb62d051cd38958a40cfa444f03e6c
9.0.0 (PQ1A.181205.006, Dec 2018) Link bc75321ebeeafde609d2e096f0a49beeb6821dd5d4ffef3f499a8b78fe92bd55
9.0.0 (PQ1A.181205.006.A1, Dec 2018, Docomo) Link 359dc9b019c2ab4e54a3c3133605411104f6e908273c492cbb89b2a30a982af7
9.0.0 (PQ1A.190105.004, Jan 2019) Link 5f23d043fe29c47ea00d87f04fc3cd7393bcf7602ebbf3b3e670a5e354efb79f
9.0.0 (PQ2A.190205.001, Feb 2019) Link 4225fb81e4966985965ca80b26d165dc9344dbbb5c2128dde55f9092f71ad5e4
9.0.0 (PQ2A.190305.002, Mar 2019) Link 5f13844fc314f0ebe1d69ec233246126a1197aaf119af40d0ed68a170ca6836c
9.0.0 (PQ2A.190405.003, Apr 2019) Link 8dbfa1fe8764648efe3a0924ad37c23022b093861a939ec867e7c9ac164c0c1a
9.0.0 (PQ3A.190505.002, May 2019) Link 18b3673d4278c5f8c85941d1ffc6586044d449bf61b7479e21ecfe8ec76a13bf
9.0.0 (PQ3A.190605.003, Jun 2019) Link 336f035be229a42c8ddc7c19afab448e48a4f3b9783ae39383934244d96a3369
9.0.0 (PQ3A.190605.004.A1, Jun 2019, Verizon) Link 110ae5ac148bcc92d2956da4eb8f98c3b84517573cac1962a0f267218e6ac72e
9.0.0 (PQ3A.190705.003, Jul 2019) Link f729fb6db0131c892e756fa22ad3a98319d4080000d9e7c42054643335b43f1d
9.0.0 (PQ3A.190801.002, Aug 2019) Link 13edb9214a864317bed0f9c13a812e602f666754b5f8e8f0f9fa17b98b6ee909
10.0.0 (QP1A.190711.019, Sep 2019) Link 41b28ca0ac6b3550b5f0726d428e5a4f44501a89a598fc47bbfabb10277e7efd
10.0.0 (QP1A.190711.020, Sep 2019) Link de9a52d381dd96f2b2e62b31362df76e9f02ecd5b91fd3ec1d2cf4855a7e8178
10.0.0 (QP1A.190711.020.C3, Sep 2019) Link 7a561c10372a6abe01b294a375f7a8b94d0949104cb65cf53022558562fc2bf8
10.0.0 (QP1A.191005.007, Oct 2019) Link a660c15f5b348346604e41cb1090a410820d0fcddba0444072a29c2625fbc90f
10.0.0 (QP1A.191105.003, Nov 2019) Link 7217a6c672fdf1cb1fab889811f094160037176de8b1000fc47760f266b6a90a
10.0.0 (QQ1A.191205.008, Dec 2019) Link 84c88f87a44382ff0609cf5eeadd88acf8136b1311be4458b4dd6101b8ef6513
10.0.0 (QQ1A.200105.002, Jan 2020) Link 979a51222f0726c4d6cef293c4cd1a85d653b13cd5bbc13bab4a23b8a75eeb5d
10.0.0 (QQ1A.200105.003, Jan 2020, TMO/Fi) Link d156e29c1c0d3af19fd9795bb8bf63c60ff15ac0fc7328aded7cb3c6e53bb7b8

"blueline" for Pixel 3

DescriptionDownloadSHA-256 Checksum
9.0.0 (PD1A.180720.030, Sep 2018) Link 1d5a4f8dc5b91a1a78e9b44357e62a49dbc1d64965d743f01da563d4d534092b
9.0.0 (PD1A.180720.031, Sep 2018, Verizon) Link 60fa3ebaf1ddc6bbd93e20c261014f85329c37acd9d389e98351452372b287d7
9.0.0 (PQ1A.181105.017.A1, Nov 2018) Link 7f2186c3905eafcaee2dc9b965633963224e54361015d3e371bb66bf3419b4fe
9.0.0 (PQ1A.181205.006, Dec 2018) Link 25420c7848fb2f07b0b0eaf5a6584f01aec9a01bc901d9c7c3a2ce7121463d4a
9.0.0 (PQ1A.181205.006.A1, Dec 2018, Docomo) Link a665cd087b87fd0b9186441faed55835b208f39af7bb8ad02698495f8890c7a0
9.0.0 (PQ1A.190105.004, Jan 2019) Link 6aad27604e16452df0fe256ccf761ba7a45e8dfb3653136def6d2136c201c078
9.0.0 (PQ2A.190205.001, Feb 2019) Link c497561067a9600162f310519b2dfcc91745bee300e508255b914f669db51fd5
9.0.0 (PQ2A.190305.002, Mar 2019) Link 814c6733c37b4d2c83115c1ad71e41011591c0f1705ac9b5e9210942211f04a6
9.0.0 (PQ2A.190405.003, Apr 2019) Link 9d700bb8bc408bbfd83a42134594ac6a16adc31299194333afaf90edc28431db
9.0.0 (PQ3A.190505.002, May 2019) Link 4c495c8de2b6af6f13bf3721db64ee79119b5c0fa7dc539c0a5736741840380e
9.0.0 (PQ3A.190605.003, Jun 2019) Link ea63a5aba2b2f23b7611c50f046608b55d163f27df11608e74a997a28bdd9ec1
9.0.0 (PQ3A.190605.004.A1, Jun 2019, Verizon) Link 12b42e4f05069bf6c1d7556a9495dd5465d72f5837ee6232f65e6ac1fcbc0cb5
9.0.0 (PQ3A.190705.003, Jul 2019) Link 357e439d326831aaa9b9cd202bb6f9d448c2faaa57847d87c7c171df4cb1fddf
9.0.0 (PQ3A.190801.002, Aug 2019) Link bfe406f6c35d457f6187ef4df75a5f9590cd0405b94932968d7ea439ed543152
10.0.0 (QP1A.190711.019, Sep 2019) Link a34e2f5c2a1941b8d5d80da8664637295a91a18d832190241d2aebae7af518fc
10.0.0 (QP1A.190711.020, Sep 2019) Link 455954256b0aa4a61c4b275bc47edd895829457dcf7636c788626af92b4a92cb
10.0.0 (QP1A.190711.020.C3, Sep 2019) Link 87316d6e8fd8bca99a846aaaebb8cc8f0fd69ea40a2e33f32f1c38a87259f432
10.0.0 (QP1A.191005.007, Oct 2019) Link e5bf373b697e5531cb1aae8017d3836a837254d3bb85567c09f25934a83cdf68
10.0.0 (QP1A.191105.003, Nov 2019) Link d138cd7a36333e35d6f14072a1f301d24953985dde53277599b0476ce27c6eff
10.0.0 (QQ1A.191205.008, Dec 2019) Link 7a817e0d694f63062c43589a2ebe60d282139968bedcc47f4010c26821effce7
10.0.0 (QQ1A.200105.002, Jan 2020) Link cccc1486201472cd8fe9166f913431320d7808c4ef807a5ef7272c6c540b60ea
10.0.0 (QQ1A.200105.003, Jan 2020, TMO/Fi) Link f758eeb5738a9f7d586b569ef0ed18b2223c076f6b1f980de159f6e183b1fd7b

"taimen" for Pixel 2 XL

DescriptionDownloadSHA-256 Checksum
8.0.0 (OPD1.170816.010, Sep 2017) Link 825664c4b581bae9af8231ad323ad5fc63105785d868bdd53b3c9dfb75bdcca1
8.0.0 (OPD1.170816.011, Sep 2017, Telstra) Link 797ba455bb5e6a3c8d7be5a4f0800983bbcb4495d1be0bcf2bc1407c53e7c9b9
8.0.0 (OPD1.170816.012, Sep 2017, Rogers, Fido) Link c726c936cab143b4c99ed71463bfbbab7af841374942f0f06a8945da4197dae9
8.0.0 (OPD3.170816.012, Sep 2017, Verizon) Link b436aae670c6ca95d62494c3d050507217c999a12c2723eedf3e341184ad8653
8.0.0 (OPD1.170816.025, Nov 2017) Link f62d726d1696713ac3e5d52794209cbe9857931b33ed368b5318d91282b34315
8.0.0 (OPD3.170816.023, Nov 2017, Verizon) Link 780397940f5a459d6f219fda5a361cfaf92f11c65b0300f65f0894a97c845c3a
8.1.0 (OPM1.171019.011, Dec 2017) Link 03a3583099daaa1c5799a66ec715ff1541234bf409dc460efbeb44db7ce31a78
8.1.0 (OPM2.171019.012, Dec 2017, Telus Only) Link dc30d3b7a6aa8d1d74e2079012162004c68db4709ec1ed9dfe7d8df313995f43
8.1.0 (OPM1.171019.013, Jan 2018) Link 81edd16456670a60cf1965f903d3562e586b50a36880c6474bf92c85beafaa43
8.1.0 (OPM1.171019.014, Jan 2018, O2/UK only) Link 14624c537b2c8bbea4a89a8d48dbb4d4460c442d8e09fdd5f3f19155b96f5755
8.1.0 (OPM1.171019.018, Feb 2018) Link 660c9291449657e4367210915e5751ac54131a95571be17c46b68c6095c0e527
8.1.0 (OPM1.171019.021, Mar 2018) Link 7995d48cb38c39d18a63b1501ae6e70169048cd1ed6aa298f2b414f98c7b31da
8.1.0 (OPM2.171019.029, Apr 2018) Link 1b792f19b92b87413091e8705ad1eb94dd57e2ea7e28c8d19b70356731c62e53
8.1.0 (OPM4.171019.015.A1, Apr 2018, Telus and Koodo Only) Link 384ebe17cceeebccf2b8ccd6c9fccee295bbbfa7c78989f8e01bb2f7d84a990f
8.1.0 (OPM2.171019.029.B1, May 2018) Link 9276e8998c65462271f332d91969b20a469459466048281aa288bcba53b5c65d
8.1.0 (OPM4.171019.016.B1, May 2018, Fi Carriers) Link 3ff1f16f0183f1620586526ad41529b35d9d7f38dfa9ac3808acc7d39fe79d68
8.1.0 (OPM2.171026.006.C1, Jun 2018) Link e5ce99bc58577ff089eaa04655c8fa58c8f334e2b3e617a511e68a2fc6bd4805
8.1.0 (OPM4.171019.021.E1, Jun 2018, T-Mobile) Link 817aa11345feb2d9b09746f85508276d100effbf32e10aedb4ed5bc5b4fa6098
8.1.0 (OPM2.171026.006.H1, Jul 2018) Link 339d5d3070497339b156af4106a7a03f60e08533f8eb911f8dc6f1c9698dfc03
8.1.0 (OPM4.171019.021.R1, Jul 2018, T-Mobile) Link 83539bc7d06c1d0732f5aa309f2214aa40cfb614b2d00dac200fccdc48d74665
9.0.0 (PPR1.180610.009, Aug 2018) Link 8ac43d394b7ab8ef80e0fe396f47eec43e3581b1a8874521b8037c8490e56ab9
9.0.0 (PPR1.180610.011, Aug 2018, Telstra) Link d5d094b040f5326de388d56962ce7ece95aa4513d41aa80894f55b79c8e348e8
9.0.0 (PPR2.180905.005, Sep 2018) Link 6f1f7ef71125619c07108f5a87b837e7b91c8df9dc7a3cec067d79a01452ae45
9.0.0 (PPR2.181005.003, Oct 2018) Link b1969df7adb62989695a6c5a52a8b58ec65a19a9d1ea40a77043998feb6facfd
9.0.0 (PQ1A.181105.017.A1, Nov 2018) Link 36f455f81914eb322607110ec283913dd072905e405c232434e499261ee786ff
9.0.0 (PQ1A.181205.002, Dec 2018) Link 5f46b9449157d3aef1771872b7b18e46c81ee56061e802dd3eecbea7e4030e6a
9.0.0 (PQ1A.190105.004, Jan 2019) Link 27e32aa14278601254f8983672e8b12fb646756c804725a5cf06ca918def33d4
9.0.0 (PQ2A.190205.002, Feb 2019) Link 1f4c18f0756bdcc9ed5de2cff42084a8821547094d2cb1890b1a87b863f62310
9.0.0 (PQ2A.190305.002, Mar 2019) Link 6f1909e8a11d32510e5f3e2342b2d078a5fcb9472a61831c97e57e27816549d6
9.0.0 (PQ2A.190405.003, Apr 2019) Link f831bc2144b969962e3d7b33288cabd2b326109d799b499cad3c15ca50536292
9.0.0 (PQ3A.190505.001, May 2019) Link 3c2e5fed285168831233a65c775bf3f8e6dcc86b202e8d4183d1293cfd34ce63
9.0.0 (PQ3A.190605.003, Jun 2019) Link b699cbc828c0a3900122ee98be9433fb19c05d691a979c8a8815adfd5f585d6a
9.0.0 (PQ3A.190705.001, Jul 2019) Link 1dd88e96ab342a9cea10b8359a080f3e3931e0afde50c367336db3a010923c38
9.0.0 (PQ3A.190801.002, Aug 2019) Link 57654c6527896e4eb35b5437684ad076c1a15d702f4e51d694e6b24b99c2c9ef
10.0.0 (QP1A.190711.019, Sep 2019) Link 8a12e8a1c958f675c056652072e9f615cdf98d5af84399eee10e84d778012dd9
10.0.0 (QP1A.190711.020, Sep 2019) Link 4757f073fa728dfe776856afdfb0079ac6dc20728e45c4afaefd04352095d2a5
10.0.0 (QP1A.191005.007.A1, Oct 2019) Link 3d9deb8aebb52825c77a7147db1d6f4fe675ed218675739aac19cf5df3897c0c
10.0.0 (QP1A.191105.004, Nov 2019) Link 1cc9899520e7f3c30893c952d8b8187477757bc388cb2c7539a4f466563904e1
10.0.0 (QQ1A.191205.008, Dec 2019) Link 5b940489b1ab8d4d9a2592c15ac50d4ba435086852a169cd1e60da05d681b544
10.0.0 (QQ1A.200105.002, Jan 2020) Link 150a82f7593456769f85dd031673f1b8612be4e766a5d7524bdcd3ffc5186a45

"walleye" for Pixel 2

DescriptionDownloadSHA-256 Checksum
8.0.0 (OPD1.170816.010, Sep 2017) Link 768eb7b1141db97be5c8e5118935c19178e5a12defe862c86dfd6dc0eb468f31
8.0.0 (OPD1.170816.011, Sep 2017, Telstra) Link 1e0ba663ab69d5ef3f4130ea03322856018877e5124a94e60c0065e507065a10
8.0.0 (OPD1.170816.012, Sep 2017, Rogers, Fido) Link e69461b4ed3471a3c96607b335f1a469776f068ff7ffa7ee861284b06fb9b1ca
8.0.0 (OPD3.170816.012, Sep 2017, Verizon) Link bbc9127714099c776fcc3b79edf3daaccffe681699dd33c58a4a676d2e2b4535
8.0.0 (OPD1.170816.018, Nov 2017) Link 9b02fd1cd6c13d7f8909a673cd22100b95a37eea13cece6debd121cb4d607d8e
8.0.0 (OPD2.170816.015, Nov 2017, DTAG) Link 33c7118eb6489da7b8feb2c2f0118e5067bcb26ab9634d14b08b21ad978b38c1
8.0.0 (OPD3.170816.016, Nov 2017, Verizon) Link a0bf57beb9b2c45eb8c9f77a9f55cd35d3af673eb2083a7f05e84c2eff659651
8.0.0 (OPD1.170816.025, Nov 2017) Link 70ad5f95391ad34520cc16d497acff338c5c990cc81883bb67cc470589dd5e57
8.0.0 (OPD3.170816.023, Nov 2017, Verizon) Link b97764ebdec5f969787a94d8f685c1ac70a646961f124b01491e4c7ee4afdcec
8.1.0 (OPM1.171019.011, Dec 2017) Link 4f58f0f0cd1e90db605bdd918decac55ce166ea999f437a50aaf388dc6c7fb11
8.1.0 (OPM2.171019.012, Dec 2017, Telus Only) Link ae2ee0f5be023a56fcb0ff13267eef917f71ffa052a49a9efc750609fdda3ed1
8.1.0 (OPM1.171019.013, Jan 2018) Link 5ccf0b204cc2375e115800dfe8db9ae93e821374261a0fb4ef4c041a9412bde2
8.1.0 (OPM1.171019.014, Jan 2018, O2/UK only) Link a871c13ebe5fdacac59658c9d07f5a42bf20a5872c7df7bf3108290edd283418
8.1.0 (OPM2.171019.016, Jan 2018, Verizon) Link c59768eb4344db412ee1dd658146d939bbf2b858d54206f6cb1a5a7a2913e05c
8.1.0 (OPM1.171019.019, Feb 2018) Link 5b2af7a9f00da30a2299868e72df2aeffe400d74a470b39586ce77f6962caaec
8.1.0 (OPM1.171019.021, Mar 2018) Link bb894efab495db9c09d0a338e1d27514e76cb432c93898dff17f6cd241186cae
8.1.0 (OPM2.171019.029, Apr 2018) Link ffa41853eb56f58702f2ea71ecd568e0ed1b6d9ccce1d493ac77b16c2a9f249e
8.1.0 (OPM4.171019.015.A1, Apr 2018, Telus and Koodo Only) Link 777ad9236cd3771aa784a41dce7a112181d03359b74559f45bd61d9516c8e01f
8.1.0 (OPM2.171019.029.B1, May 2018) Link 2967bea4e990b4c97a7e575be104c64d4f3a61a6cc5838f8a1377a5758739e28
8.1.0 (OPM4.171019.016.B1, May 2018, Fi Carriers) Link b83fbf0fa18606f541eadc585846dc1572052166e652b6bfa97018e1cc7dc842
8.1.0 (OPM2.171026.006.C1, Jun 2018) Link 33e9c879c25bf36420cb96942e8349a2ed5e58de654df5e9521f2b624b037ea6
8.1.0 (OPM4.171019.021.E1, Jun 2018, T-Mobile) Link a374575e2261b869293c084fd9d77183c819c0654580ad2ae22e5a03c0f3638b
8.1.0 (OPM2.171026.006.G1, Jul 2018) Link b06e7b35f5c7db1add35e7fd01f9d1f7498190fc384a373912cab9ab2865727c
8.1.0 (OPM4.171019.021.Q1, Jul 2018, T-Mobile) Link 065c848f020368c853c2b185652fd095260198497f09d3e67ca49ab3639dc164
9.0.0 (PPR1.180610.009, Aug 2018) Link 22d3af61d7685392a940baa3b003e267737a967030b86a2a6a9bb66887d28a8c
9.0.0 (PPR1.180610.011, Aug 2018, Telstra) Link 758e2d65a8707943b33b1b05a0c9d356d5c5133eab8b55e20e597e9b0d5e6ca4
9.0.0 (PPR2.180905.005, Sep 2018) Link d21ce55ac3cc724a1ea274a2d9a7047bd023f82df67d4500c23b5cd4ca91f405
9.0.0 (PPR2.181005.003, Oct 2018) Link 86d37e14162b00d171ec494f2e76053827d5c67cafd7f9b858fae9a388dd433b
9.0.0 (PQ1A.181105.017.A1, Nov 2018) Link 075d9b58fc6816c3be975ab4e8379a1530e26f1b9a0b75e899d7085605790a6f
9.0.0 (PQ1A.181205.002, Dec 2018) Link 8df1d1f7d916ded7c1661c7086e84c2505fca80902e543e3674213b43933ae7a
9.0.0 (PQ1A.190105.004, Jan 2019) Link 67d7b0d6be6a16a07916125fa9f4b59b51bb0dc1840ccdbd5f12b7e0f0003b05
9.0.0 (PQ2A.190205.002, Feb 2019) Link f8793f98e14b07dcaa723b30aa8d1b5ee7067e16e06ae2040d25ea756dbf96aa
9.0.0 (PQ2A.190305.002, Mar 2019) Link 1a12c227ed04a0ddbd70bdc753613a5ec8776304792de36c3f669be437c04606
9.0.0 (PQ2A.190405.003, Apr 2019) Link dbf01519ac2f5ea3ac258fc2f9d1ac9fc8332752e9721f62ca580c2c00b206ec
9.0.0 (PQ3A.190505.001, May 2019) Link 2a32e65ff1f8c0365d3eaf4fa2f56f25f67d94002b11373905607adbd6fa37eb
9.0.0 (PQ3A.190605.003, Jun 2019) Link 8ec073facd727228cbac239f912dfc56777fd4454973d6e35bba13c8c4b2d3f3
9.0.0 (PQ3A.190705.001, Jul 2019) Link d3bc4fd7169e9441af8871ed615de71162f80f9b18a3a19d14b6fa1efc6eaf49
9.0.0 (PQ3A.190801.002, Aug 2019) Link 93f4e151bfa8207288f7d3921871f15be81707028b3c0abcb0485439781f3aa5
10.0.0 (QP1A.190711.019, Sep 2019) Link 2c3756ce4da49996d9890233eaecde806fcd4a30daac4326d2cd0bb46de049a3
10.0.0 (QP1A.190711.020, Sep 2019) Link d326cba72c0a78afb24162e8d700de8f1d69d845643ccecfb27006cbcce0b8c4
10.0.0 (QP1A.191005.007.A1, Oct 2019) Link 8749acbf77db85ae291fc2e73d0a739edb472b5579bc048f83a73f135829ab61
10.0.0 (QP1A.191105.004, Nov 2019) Link a12c59318104b0821b84ace9f74406867a54a0ce049b71680827f79226b5d442
10.0.0 (QQ1A.191205.008, Dec 2019) Link 326a7387bc2874ba879348673fe50a6d552e8a310a5ab2b9c8fa47676771fefd
10.0.0 (QQ1A.200105.002, Jan 2020) Link cfc5642bb00103ecbf8315420834ab3d346f14feba3f14c650d503b688c3fa97

"marlin" for Pixel XL

DescriptionDownloadSHA-256 Checksum
7.1.0 (NDE63H, Oct 2016) Link 0c0ed502c19913c3a328eafe4e8142cbda1325be18a377e6e4122b486763e1c8
7.1.0 (NDE63L, Oct 2016) Link 205d22e797998ce5aa4ad3c877a09900c3f55067c0b2dfd8661de441a2db786d
7.1.0 (NDE63P, Oct 2016) Link 20858ae7151f25963bf1a5b1bb54d3129fec9f3766e8e29ad2982bf8c80d8244
7.1.0 (Europe, NDE63U, Nov 2016) Link 56d5b07ad7be75718f8786d8eba900daa44a9f1b49094ec5aee04dfc9af3050c
7.1.0 (NDE63V, Nov 2016) Link 272853b51eefde37e7a8b159f4f4d1ccb125c56da2b81708d6451a5e4d970ecf
7.1.0 (Verizon, NDE63X, Nov 2016) Link 3c8add4eba146483b39cbd3d1b85e7763260bbf65ada3e43dcc1682e377241e3
7.1.1 (NMF26O, Dec 2016) Link 54bb505e0144abdce6e8b2d185bbc633e01ce81d45730594ae49441cedb56bdd
7.1.1 (NMF26Q, Dec 2016, Europe/O2) Link 2337023a7a51e166fd05d672f85486bf686d9f113dfc78754e5494b435ce9863
7.1.1 (NMF26U, Jan 2017) Link b1e4388d4b5e61554a1dc22e2e856ab0b2ad036b57530d453b21e898b48f9639
7.1.1 (NMF26V, Jan 2017, Europe/O2) Link 7bda3acb14219405b41bd9034ceb77ce6e559a8ee54fc974b7faaf6a4c770b82
7.1.1 (NOF26V, Feb 2017) Link 5107963915c386d48b99fe60a2adb34e7910277d46a9c4317f21a17b2aef20b4
7.1.1 (NOF26W, Feb 2017, Rogers Only) Link 591f4655b4d1be3472629e5701b041d1b9f4f68e698b73eeb7e9bdbedbb703d8
7.1.1 (NOF27B, Mar 2017) Link ca49da7bc3563a767076347521038225931641875c776444fde57bbe4321dde3
7.1.1 (NOF27C, Mar 2017, Rogers Only) Link 4aadb9954a844467a90c8e2206d11b936e34f40d35f564a56a863ed02e690943
7.1.1 (NOF27D, Apr 2017) Link a715d144b53a8b983ff26ee6bb63480e9e996745305425d77a27e66a9462fea1
7.1.2 (N2G47E, Apr 2017) Link a3451543b281a7f4215e365b8f85d411ac0a7c45abaf96c6e6898b60a330064b
7.1.2 (N2G47J, Apr 2017, Deutsche Telekom) Link 38b606ebe933074e3c650b84bf8da88162037b3fbbb44890affcb1b56d47f852
7.1.2 (NHG47K, Apr 2017, Verizon) Link e96ce5e0f24d45ac8aad8be27866b9e2c66fa1f01bc74e70c4c234371f309c96
7.1.2 (N2G47O, May 2017) Link 61bf55a324e66a8503dc63c67204e4f33b5fb396711799116db8131b4a78178a
7.1.2 (N2G47T, May 2017, Deutsche Telekom) Link fb903a4e9ad6ac89ba42425b85d6739d1dd433f55e8229bb6c48cd7d9882a6f6
7.1.2 (NHG47L, May 2017, Verizon) Link 1b06c59695031c8f70c7236208263fd367015f259b6dba5f1d3a060f487290c1
7.1.2 (NHG47N, Jun 2017, Verizon) Link 9ee19a1892c5989ad3a39ea5d4a47fd10495bfaeb1573385cad70f19ad678792
7.1.2 (NJH34C, Jun 2017, Deutsche Telekom) Link 03e85369aefb319a8d99258e02be4c5d43a4a699965c6f9c1bf6da8500af1ab9
7.1.2 (NJH47B, Jun 2017) Link 8d52ade5a0749fd86f22a8a9d74ea4ccb25a298d89abf7fe61672539215d1086
7.1.2 (NKG47L, Jun 2017, T-Mobile, Fi carriers, and Rogers) Link 90564fbf909ebea32222477f3b13951f41532eba1eb634db1d35b399dd87f173
7.1.2 (NHG47O, Jul 2017, Verizon) Link 8e5d8090ae80eaa0fd71ca9f2fdd4d4597a483c2ae0ceb979fab6b4227af6420
7.1.2 (NJH47D, Jul 2017) Link 86c9c49bbee3e750abdec294d64287ea940c396e476e8c35081d3da86d0ab84b
7.1.2 (NKG47M, Jul 2017, T-Mobile, Fi carriers) Link 29dd9efe7c928e8dcb296d73525ac63cac2e2785a6b1a7be35c8597b46cf77cc
7.1.2 (NZH54B, Jul 2017, Deutsche Telekom) Link 1a93c007aeee95d2ec255b521bfc92010bb7a151f008d6f740227af92a52143a
7.1.2 (NHG47Q, Aug 2017, Verizon) Link 73c108b92248ca04c9f222a98cdf7808a4d24b2e83e8b215e239e292c1d4ebfc
7.1.2 (NJH47F, Aug 2017) Link 72cd90c00f5d9fe03f81998d39a1dfddb4a6d17245a3ab40964825bfa4068d69
7.1.2 (NKG47S, Aug 2017, T-Mobile, Fi carriers, and Rogers) Link cfed311faf5012ca4e9cc7cc4237e854abf995d68b97d8996889ae8531ed83ed
7.1.2 (NZH54D, Aug 2017, Deutsche Telekom) Link 2e78d8a13828c4ae7bf22fd567ba9ba881b3971c2623326a72585dc7aa5961d2
8.0.0 (OPR6.170623.011, Aug 2017, Bell, Telus, Telstra, TMO, Sprint, USCC, Rogers/Fido) Link b4e02849ea8906487e45dbcc50e8a164ab9bf8bfff0262f098d8ee5a93aaab46
8.0.0 (OPR6.170623.012, Aug 2017) Link f265546b3f5bb19b6d18d61d59ef5a1c2720377c9f8351bf9d7afa3ea2ccbc69
8.0.0 (OPR1.170623.026, Sep 2017, Fi/Canada) Link fd9a004a5459f00dc3a2c05f4885ec97442c213bd86de4a5138e5b5d48073c66
8.0.0 (OPR3.170623.007, Sep 2017) Link 5725ac524f78f8e1b827ce2e857e155385c00408a2420183313d6edd6adfcfe8
8.0.0 (OPR1.170623.027, Oct 2017, Fi/Canada) Link 0314f12d681548efc1df1cf300415bddd9ab7534c1e7e1e182d505b217797830
8.0.0 (OPR3.170623.008, Oct 2017) Link 919e59ffdd726e17b996f689eac99b83c90062ac84465f092e7b6d36f9bcc4cd
8.0.0 (OPR1.170623.032, Nov 2017, Fi/Canada) Link 7a023782692a76f854978338d1dbd526e83ec1471d30fae4e974c93818e78b5b
8.0.0 (OPR3.170623.013, Nov 2017) Link 5b69f81e922704658417be1e93fce188a93800a77a03de7a3ddc34c80ffda2e0
8.1.0 (OPM1.171019.011, Dec 2017) Link b447f54f4232db235214f65a9fc4ea830d8e71f98e003527ef785a1423292733
8.1.0 (OPM1.171019.012, Jan 2018) Link 8c9cdae2a4b27231709c88d2d06510ea9a35a2ab46a236f1895b9222c2863d3c
8.1.0 (OPM1.171019.014, Jan 2018, O2/UK only) Link ead49d567dc9420fec03cbfe7886206c066667e526550eca0e75b3e83424e537
8.1.0 (OPM1.171019.016, Feb 2018) Link 31ab6440cea3c5f736ce0131f7d48324c9aee307c38d0862f956d9c9d5682306
8.1.0 (OPM1.171019.021, Mar 2018) Link 94fe1bf05615191a6d228343eac466485e7724dc4b2648a3183d4abec8957ceb
8.1.0 (OPM2.171019.029, Apr 2018) Link cfa790903e4f2980ac0f1cc245bccd11240720286d1836e0e9987ae828300528
8.1.0 (OPM4.171019.016.B1, May 2018) Link 6811029d796f3c958f1340190246ae68c11774edf63715a4c9bfef4b280e5756
8.1.0 (OPM4.171019.021.D1, Jun 2018) Link fd6998a5e0dac2f8c847173772cf0a80d8e42e6d62684cd75ad8cea500082ef1
8.1.0 (OPM4.171019.021.P1, Jul 2018) Link f0709550866e9ef956059900ca5b59cd9cbf3839b030c8b00495d9c8ee3578ec
9.0.0 (PPR1.180610.009, Aug 2018) Link 657223c1e407f8513b4460e8259ec3b682c0ee22d206a3195449e468eaf445ad
9.0.0 (PPR1.180610.010, Aug 2018, Telus) Link 858a8d39637fcfa5bb3ba5ca6dd93a049a9cde64acbb996a5613b8c050b625d5
9.0.0 (PPR1.180905.003, Sep 2018, Telus) Link 838c54a88b3a56e1203460d28d9680d807d96eea28371faad1e44948e9e2e96c
9.0.0 (PPR2.180905.006, Sep 2018) Link 809f6887cf252333c022197107f3706559ac03dac708d8cdbef1eb1e96cfdfd9
9.0.0 (PPR2.180905.006.A1, Sep 2018, Verizon) Link 34e91bd3bd584028fcf112760a3ab938942e3d3bd8c5d7933fa019ead47b1e97
9.0.0 (PPR1.181005.003, Oct 2018, Telus Only) Link b9a78d71ace6a9f3a9fee72c62ca1b651e8365420d85d4e3efa26fba2628642a
9.0.0 (PPR2.181005.003, Oct 2018) Link 469ae02d552fc56274f1d0e7f26db0683b506a7cde420d456e516b2f39aa9d9a
9.0.0 (PPR1.181005.003.A1, Nov 2018, Telus Only) Link 4657de4d8aec86ecc8241d5495da0831c79488136b51f6e9ec3eb473f4e949ec
9.0.0 (PPR2.181005.003.A1, Nov 2018) Link 2b95d4d276fe0da84c4b154311368c9a0a954db0d7bbd6264b4b82220101fbc9
9.0.0 (PQ1A.181205.002.A1, Dec 2018) Link b7df60eb2e9b458843a185cb3427c25f1f264fbcb867bc08d2fcd420f47ac95d
9.0.0 (PQ1A.190105.004, Jan 2019) Link 9c05b51fe28a425f03dd454e240fc95e7fdc1ce5135db98a5455f265d7ec61c5
9.0.0 (PQ2A.190205.003, Feb 2019) Link 471a4610de13bb6e7f742599463fa5eab9074692f4907cad342a619ede53046f
9.0.0 (PQ2A.190305.002, Mar 2019) Link c110ab88c101cc3902d3d061cfca6b2d2ba4105dda80d87a44aa9b04f6f6bf7e
9.0.0 (PQ2A.190405.003, Apr 2019) Link 8b41b6404a54f3a788185cda179113e23d397552d8ac8d2689337dbc9d8f83d8
9.0.0 (PQ3A.190505.001, May 2019) Link ae4920982d1d880eb368c5f0ece0d68e4b2bc8eed5b0fd48bb3f3a51a4bfa418
9.0.0 (PQ3A.190605.003, Jun 2019) Link 1a941e2b3a567029b42c7e1b831e3e0f3bc48e85cef65e4fc1a7b75a291dffd0
9.0.0 (PQ3A.190705.001, Jul 2019) Link 29170d633da95a8edeadbefebe690ee5a122c13543ab675649c3a59aa002d68f
9.0.0 (PQ3A.190801.002, Aug 2019) Link a7f5a54783cb3905890e97f48e833c72c63e3e6a94f7d5d083578275c8818118
10.0.0 (QP1A.190711.019, Sep 2019) Link e17356dafd8363baaffd73b7c6e6a26b96a95fa6e480e845a86f40b4e96720b9
10.0.0 (QP1A.190711.020, Sep 2019) Link d606101fab817dbb5387050d101ed29796c6744457f85ffd60b488f931a56c77
10.0.0 (QP1A.191005.007.A1, Oct 2019) Link eea9b8dd1fd63c0c17be56e81d9d2381705491adb24f6aabceb76eb4cf23260d
10.0.0 (QP1A.191005.007.A3, Dec 2019) Link 23002a57bba0c40219799af473948b878400f0a4efc848d2ef528b132c6ac2ce

"sailfish" for Pixel

DescriptionDownloadSHA-256 Checksum
7.1.0 (NDE63H, Oct 2016) Link 995d05114406218a859a707cb4af4d5aa68eb3659aaaecbf192b5c8139c7ad9e
7.1.0 (NDE63L, Oct 2016) Link 8223118bd7ca7c53e063a5d7539c93223514073dbf7c967a6fe0eae11dfae344
7.1.0 (NDE63P, Oct 2016) Link 688a930ba2bd1b6fda84cfb88367dd3df1cc506774cc74b9f6521a1ee5540ae0
7.1.0 (Europe, NDE63U, Nov 2016) Link f1c2a8f555643cdcd4c4f0772003c388f30873035a50a195114cd433c0388d42
7.1.0 (NDE63V, Nov 2016) Link 4dd1942eca61766e1f14d5b5eb442be1117ed9cfbdf3bb4d07692985478ca8ba
7.1.0 (Verizon, NDE63X, Nov 2016) Link 59a512a19ac374bb1bff1b66f710b9ace0af8a8f64b47206d99c78f7fddf6d10
7.1.1 (NMF26O, Dec 2016) Link 3e7c4b669b7eee6991c2b6583332da95f7bb07caee55c9aece0a706cd75e3ba4
7.1.1 (NMF26Q, Dec 2016, Europe/O2) Link 6478188a18919c8e856ade7668d571edf870ef6d2f314074a7fe787fbbc0da8a
7.1.1 (NMF26U, Jan 2017) Link 6ea22a0c1c285d4c6f9e671ed947ff789b4b5ce032bab716e7b54076dbe0734c
7.1.1 (NMF26V, Jan 2017, Europe/O2) Link 1988a4588be6e2b332167153bce7915dc651b1c751d4622f52751f7263080157
7.1.1 (NOF26V, Feb 2017) Link 4bbb310d98c028e9a90a063d59b811ca207abeeb88e98bb726784035295d8a3a
7.1.1 (NOF26W, Feb 2017, Rogers Only) Link 1b59bd54f76fa231c083a682483488dcf9bd53b91fbdb4448d3197bf2c230d55
7.1.1 (NOF27B, Mar 2017) Link 8130b5a84fbdaf6d9b58de3ce814700c66645262b785c85f5e7952e82d11dbb6
7.1.1 (NOF27C, Mar 2017, Rogers Only) Link fb487658934e7a1d68f5d73c7e9ee765f18a02c046629b5d5aa142324c3fa84e
7.1.1 (NOF27D, Apr 2017) Link 54f22208f1e573c2dcbbad975d719260a338a2f0dfd24553f8e72f283b21df63
7.1.2 (N2G47E, Apr 2017) Link 340ae119dc0b2eb167341da426fc71afca090b3c8e46aa7c969d265d3768c3e8
7.1.2 (N2G47J, Apr 2017, Deutsche Telekom) Link fc371af4eea0ce6bbcc3f3c6a203a0a6cd87ae69dab0e82f2802f0993e2b01a1
7.1.2 (NHG47K, Apr 2017, Verizon) Link 2abd56882e4207b49b49e99d57456689c091ffe1fec3f03d1e51c952c89166cd
7.1.2 (N2G47O, May 2017) Link 2fa538eaf866d0f641a6af0d8e71ca398efa16b9ba81feedc138cc1d658f54fd
7.1.2 (N2G47T, May 2017, Deutsche Telekom) Link 88d76dfd8d4d55f164c0a6e413f6633539fc6527d4ae6798fa6cd6b1e64858a4
7.1.2 (NHG47L, May 2017, Verizon) Link fabdd5f09f8c2d9a80d73aa64da518fda0daea3fe6d5881943761d79decb684c
7.1.2 (NHG47N, Jun 2017, NHG47N) Link 762d14186fbe0f08a828c4a0ce439cafa0987e2b06b890ce3625ca8be2cdb432
7.1.2 (NJH34C, Jun 2017, Deutsche Telekom) Link 4e5248de485ae33af6778a95e710819444bcd67d51e6dbf32852e8bbf1ae8a2b
7.1.2 (NJH47B, Jun 2017) Link ed08e156990fa2b2512985c58ea4bf56e8634b261e700a98337531fbd294c055
7.1.2 (NKG47L, Jun 2017, T-Mobile, Fi carriers, and Rogers) Link eda5a753f13def8f18fba3b47bc9928009608c3474710bb7e829dadcd2fb0aab
7.1.2 (NHG47O, Jul 2017, Verizon) Link b57598a04313f7bae910051c56fa5c82f0d32e55aa9379cf1517f5f25ebd6677
7.1.2 (NJH47D, Jul 2017) Link 5eecdbc18ffb2189d7ae9dd94b91b667a9d515c81e8bedf903d7b04577f8722b
7.1.2 (NKG47M, Jul 2017, T-Mobile, Fi carriers) Link 84012eb431b0776464f83d8ea000a561be569b4f99f038dad3b8088146737dc2
7.1.2 (NZH54B, Jul 2017, Deutsche Telekom) Link ece7fe6ee9ec08223783a931339a43217fbe20e1940fd799fca9b8916d309e5f
7.1.2 (NHG47Q, Aug 2017, Verizon) Link a0950148ae6d0742ac376d581be7f9358ff8af3ff657ef66bc1abfa4cabc27fa
7.1.2 (NJH47F, Aug 2017) Link b1b5d050cfaebfb710258bd2cc3b69efee76695ccdca7a7b54973732f429623d
7.1.2 (NKG47S, Aug 2017, T-Mobile, Fi carriers, and Rogers) Link 606df834f122cbcbd62d1b15be1d922c62e7da914319dd5ba33b03d3d27233c0
7.1.2 (NZH54D, Aug 2017, Deutsche Telekom) Link 2163742b2a40fd224c42d74ca553932fcfac9bb7947ac4b71709ca5e02889074
8.0.0 (OPR6.170623.011, Aug 2017, Bell, Telus, Telstra, TMO, Sprint, USCC, Rogers/Fido) Link b42cfa2f5549a6afb8b9e8f241eaf06f8eadd83e521977733df37f0a718cb206
8.0.0 (OPR6.170623.012, Aug 2017) Link b48a822b76b8739a019a679979c905f933c750ca7085ee21e4b49668c9549232
8.0.0 (OPR1.170623.026, Sep 2017, Fi/Canada) Link a754585bd6e02554b36e96583abd8bec32286908fd624261f300630e14d51c62
8.0.0 (OPR3.170623.007, Sep 2017) Link 6281e5cd12cab54d3bd4eb45cad13c7b31095596861a0bad42151a078379f89a
8.0.0 (OPR1.170623.027, Oct 2017, Fi/Canada) Link 41f8742a68bb78f833766190a2ce8c4e361cb0e70d4c415346f6e238cfbf18ab
8.0.0 (OPR3.170623.008, Oct 2017) Link 56e17c7ea9173c7f9c0e211f06ad79f0ee58b5e7d621803dea3c737602f06243
8.0.0 (OPR1.170623.032, Nov 2017, Fi/Canada) Link f5eb977ee0a7af919c2707c7152323f4da7cdcd9419e39fc364b6edb5f27b35e
8.0.0 (OPR3.170623.013, Nov 2017) Link 3c966cabf766e672d82abf81a4e7bcfe0a34bd703a81b0ef33c138625aa6bdbd
8.1.0 (OPM1.171019.011, Dec 2017) Link 5dca05ea46aafd46a2eae407009970cc6ede2adf4c61731c1a13ed93399bdfac
8.1.0 (OPM1.171019.012, Jan 2018) Link 679e6d760fa2a3c3d448723a7a45c4649bf564c8892330ddf0dfb39472b9a874
8.1.0 (OPM1.171019.014, Jan 2018, O2/UK only) Link dd581852d2176e7853f4a604b9327f8799a417991aab5a6ac5729efce84b2dfe
8.1.0 (OPM1.171019.016, Feb 2018) Link 423e32707537a167900c979513c7862d9fc7fe217d29f16e1cce1c4d53351649
8.1.0 (OPM1.171019.021, Mar 2018) Link 09aafd10bfc34b0f7a2f4979df6f84f43719f87aef3f6dd9293dcc080e9bb5b8
8.1.0 (OPM2.171019.029, Apr 2018) Link d0f1d78cdf752f9277f402e20399cb7de6fc7f872e8e47d187615f5888ba8d13
8.1.0 (OPM4.171019.016.B1, May 2018) Link b387f7b20579115d8e0cf39653783e80db8831445191ffb1792cab226c088d70
8.1.0 (OPM4.171019.021.D1, Jun 2018) Link fbca7adaf75551baa8103981795b7a707578d32ee2fc60ad89fa33eff694c87e
8.1.0 (OPM4.171019.021.P1, Jul 2018) Link 9fe2c53940f030a2415cf7bb164d129b6002bd3d19c18e94d367ebc60ea7eb88
9.0.0 (PPR1.180610.009, Aug 2018) Link ddead1afab31d12762ceeee0e85fe01b263629a3e25629fdcb29209b61d5b1c5
9.0.0 (PPR1.180610.010, Aug 2018, Telus) Link fd4ff9ef5aa7d04431f4b50abfeb76a93527e7aa5cf9443916600375b59ceec7
9.0.0 (PPR1.180905.003, Sep 2018, Telus) Link 151acc7e163236b2bb6e27a8677d6bc2f5db154dd8e35828b33410f0c8209412
9.0.0 (PPR2.180905.006, Sep 2018) Link 18857afc5ac1b3110c51022796a3e1de757f81519381fd692cffac71aaf0ff2d
9.0.0 (PPR2.180905.006.A1, Sep 2018, Verizon) Link a2adb8b4527f8f9281fb4dce829be83865fc57cea49126e5509a872931237f51
9.0.0 (PPR1.181005.003, Oct 2018, Telus Only) Link 1ac4e10be1c886653e39fe45ef675ece1273c200255ce7f5a335aed858c225c7
9.0.0 (PPR2.181005.003, Oct 2018) Link db23e6d53044596bba493d65e26b8ddb4b47b3e8a22a91b47771f286a0b8dd1f
9.0.0 (PPR1.181005.003.A1, Nov 2018, Telus Only) Link c32f580cbc447c0023b36b8ebe612f08795831b1e81e0d52138a253d7e113503
9.0.0 (PPR2.181005.003.A1, Nov 2018) Link 89adce91f31271051c28de2dce75fbb7236ef65b32ff15bb155b9d697ff54893
9.0.0 (PQ1A.181205.002.A1, Dec 2018) Link a85b355b5b8de5b0bea33c6d774d01b39095941a679c2dea7effbebe79f052c8
9.0.0 (PQ1A.190105.004, Jan 2019) Link d5feb9d8085517d27f848d22cc36b71d13991c2963c954342bfb3b75084b1f55
9.0.0 (PQ2A.190205.003, Feb 2019) Link b099e842de8f3122857db7746c6d7fc36296ef9ae7d3f83662ab2642ef5a7748
9.0.0 (PQ2A.190305.002, Mar 2019) Link 8e0b885cacc403b6067aa235fdcb194e3fcba0d50387d0a82432f4e899e5e730
9.0.0 (PQ2A.190405.003, Apr 2019) Link 7454377b2d0baf36a6a1f225465f6cd88ce24c0ea940e8f7db882748f6d1bbbc
9.0.0 (PQ3A.190505.001, May 2019) Link 998b082f0f686ae501dd022da6fceb78cfc764b183ffe28cfa66d961fb625ba9
9.0.0 (PQ3A.190605.003, Jun 2019) Link a3ec50c6f081480835a9e1bb842e3ccaeb65469ec0a337bb89276709880c0985
9.0.0 (PQ3A.190705.001, Jul 2019) Link 358b9c86c6fd65f707a041c97424c97546a10d9011a2fe1a1331336d2a7584af
9.0.0 (PQ3A.190801.002, Aug 2019) Link 2cc9c951833e7b743041cc1dc7cb6948db3891bd91fc777366b09b3752f100f0
10.0.0 (QP1A.190711.019, Sep 2019) Link 881a6354b5ebe38663829bbb982cfcb484b31290f080f5317c4adfdf15b887a0
10.0.0 (QP1A.190711.020, Sep 2019) Link a9ad49faf507962fa05c738fc2ca27c238a8322093a8a9cf8b92a3d4896f5b7a
10.0.0 (QP1A.191005.007.A1, Oct 2019) Link 2c90d97b256bb6bccad64744659d6de50c9e51baeb2ab49393131e5803607dc1
10.0.0 (QP1A.191005.007.A3, Dec 2019) Link 394b58991a2404f11b3f827a545c78f41041a7bbf5fdb3f2ee848c13757c25fc

"ryu" for Pixel C

DescriptionDownloadSHA-256 Checksum
6.0.1 (M5C14J) Link cfffc36e148db02088e9723d162f74564aa0fac1a7a3353a89eefd006d6adaa4
6.0.1 (MXC89F) Link f4d5d0786898c888c2c24253092379b33fa40d455931c36d78c971d5cd191896
6.0.1 (MXC89H) Link 39bdb33fd2b346f3fcb5883c95fd7314b243e25308bfe6048e7a0750fdf5cd45
6.0.1 (MXC89K) Link a4e05e0c4b1b8ac01de46c1f9d231c9a8620313e4a670cc2adcd4976d1f613e9
6.0.1 (MXC89L) Link 8d3044562479129e6f2f75c87d39beb86d2d8c4e92bb6f37f64f69dc33a5901b
7.0.0 (NRD90M) Link 69793d127812a257ccf0d8289eecf0e9e8522aa9e221d5e5f51e871c3b4cd72c
7.0.0 (NRD90R) Link d8c91d968129f224d4fa112bdf730ff080f880b85a71b96c8017bbc287625d96
7.0.0 (NRD91D, Oct 2016) Link 3db53b6a6a12affdce433c09196352b2cb27030d0da672138d8d7087396b8ecf
7.0.0 (NRD91N, Nov 2016) Link de36f08b18db2847b8597fbc95921fced971dd2ac2f71055ac7efa7d09420b67
7.1.1 (NMF26H, Dec 2016) Link a593e30f2e6c9c3de2a3eb88cb13e9eaf0c7fb8144f13a73131a3c1c12ce0c71
7.1.1 (N4F26I, Jan 2017) Link c26b5ea49025284364828e1b2aed83e000ab232de85e4f4e87ec8e09d917613b
7.1.1 (N4F26O, Feb 2017) Link 3e34a8bf98c96df4f04bfd6b1c8a437dea651d5e03dbd2085fbc013788d097d4
7.1.1 (N4F26T, Mar 2017) Link 7a9293bc455bfcd1acdb5a127fd68d8b89b5577f0e63102ad770ec3bd0bdee7f
7.1.2 (N2G47D, Apr 2017) Link 9c3932cd313bc7c90d919521570cf820e65991de1e596e38d9df4c4c8b0be6c9
7.1.2 (N2G47O, May 2017) Link 64e86c52c27d2eae29f02eec00b0218a2e5227600b4586302a6b8aca0524b843
7.1.2 (N2G47W, Jun 2017) Link 7d6dac7be6fa2c26cb7a135f5ba66c0877001aecc42d45fd6611529649e1301d
7.1.2 (N2G48B, Jul 2017) Link 173657a7de7ca326748dcd9be1069d287ddb23c6061a1285fffc1ca709fbab7f
7.1.2 (N2G48C, Aug 2017) Link b25f43f9ea9339347a812dbdaa78aa7924a1a033594c23502532919b4c545d4d
8.0.0 (OPR6.170623.010, Aug 2017) Link 6a4a2ae2b2cb685fd3e741fb0f3f718bbb04892ab5b8bea01aa1cd7a1d18d582
8.0.0 (OPR1.170623.026, Sep 2017) Link 0f2fd8decb79726b6d3dc400c3f955b9200823c4a001a7ca7fcb6966732599eb
8.0.0 (OPR1.170623.027, Oct 2017) Link 63bcb6156d897b4d89a0f645ceeb6df69de02027f87273337614d75c4940b618
8.0.0 (OPR1.170623.032, Nov 2017) Link c157769a77305e7505e4bde7bb705f3a8323b534f3f40bc320ef3f65b1337f8d
8.1.0 (OPM1.171019.011, Dec 2017) Link cd6f23759c1b41df7a0b564f4ba0d6299d0ef12a9ee4c75a112c68aaf1bef3d5
8.1.0 (OPM1.171019.015, Jan 2018) Link c2fd5f0e0f5e1533fd01b908b6c2978b9ab99c31e6e44a26672677a74e08e7cc
8.1.0 (OPM1.171019.016, Feb 2018) Link a65013c6c09c7949637ce0a219ecb943901799c8b5b1aac888ccf7d2df2335a3
8.1.0 (OPM1.171019.022.A1, Mar 2018) Link bca39f92d320a8ede249c0e3302972ccba87551d206a82fd71e23a8f60cf9fed
8.1.0 (OPM1.171019.026, Apr 2018) Link a9f2738ea2bb5eeec8c9cb30527931811dc6d6be00eb2815d6cae5f387f2ece1
8.1.0 (OPM4.171019.016.C1, May 2018) Link cc83e3598c0df1cdde4235288ac883e40fee92dafd36775d542746f1af2e2a51
8.1.0 (OPM4.171019.021.D1, Jun 2018) Link b9d18425779c1710ff91b29d7e92cb545e304ca4a2f71542dd90583072d5ac55
8.1.0 (OPM4.171019.021.N1, Jul 2018) Link c5faa644186fccb4cc105edaf04b3d92ea811ada2bc4869330ced8c19cf06bf0
8.1.0 (OPM4.171019.021.Y1, Aug 2018) Link 4bf1fd505d789f56f1dfab64adae4235a2728e4436365147d16fdfc53ab75da2
8.1.0 (OPM4.171019.021.Z1, Sep 2018) Link f78104a92f6887f3b711878b44097f79818802f3bfc9279ca090801efb07057f
8.1.0 (OPM8.181005.003, Oct 2018) Link d093cdf7c3296e618dc32f340e7d832acfa9dd890340a9674ae876214945692b
8.1.0 (OPM8.181105.002, Nov 2018) Link 81551a35d0586322d21965648657a8e3344ce8541b982b32ce699b8a8f2b12ac
8.1.0 (OPM8.181205.001, Dec 2018) Link 83c98d3062f840ab403d14e10e6d96706c697543c4efd4dc7db9c667692e3201
8.1.0 (OPM8.190105.002, Jan 2019) Link b402666433e781ebbb2d5bbf9a9bd182a56d680d76bf15adb4c6936730d5947a
8.1.0 (OPM8.190205.001, Feb 2019) Link a58d5b63d175fdc1e42d318d537e4c41afd9a773c34db2758542446c2ed6591a
8.1.0 (OPM8.190305.001, Mar 2019) Link 4249e16e9b5a9726b1ccef0dba0a88f3c34ef64956418e6d9227ae7b1ce65cf9
8.1.0 (OPM8.190405.001, Apr 2019) Link 043094434ca860fb19e3ce8ec5027d7b35e3744c68e7788d67957670ea5e7f1e
8.1.0 (OPM8.190505.001, May 2019) Link 6e803b276ff89ebca1b072fc72839ff83de88a29af9c401408f2fbba53958d36
8.1.0 (OPM8.190605.003, Jun 2019) Link 981d873529369a0de76ccf5c0dc6ed4d7dc71a1fd3db07ef4085ecdc84895ec1
8.1.0 (OPM8.190605.005, Jun 2019) Link 079b7ec489392fd0bd235db44600bfb36cab7111c88c697d334b702dafc71596

"angler" for Nexus 6P

DescriptionDownloadSHA-256 Checksum
6.0.1 (MHC19Q) Link b9ac826b083d9de0f6cfce889e5ecc5357373537f205178bd64feba49fb4be6f
6.0.1 (MTC19T) Link 0884ae89f913e3c29f1b3f0c4b740613093ce9aff8b211a3803235a2d6a43fd1
6.0.1 (MTC19V) Link cb7d5b1c24c83f22ccbdd01dfa63e22afab73e42cbce5ffd152374665960871c
6.0.1 (MTC19X) Link d3368f48977e4220c7d679b21d1f3acd808ffbb0a8174cc5298f6e6e4b5db228
6.0.1 (MTC20F) Link 5a1e93e9974908a0683a4ac8a732b81023f4b01182fd3ead3f091f54300de5ce
6.0.1 (MTC20L) Link 095e81f70a6c898a4a05292e300ae59ed2cf6f913b7d95bb7d21dec792956e46
7.0.0 (NRD90T) Link e19c600ced182664cac1e21bd0c51a32b5b1cbc90358ac309e37486d2b4521af
7.0.0 (NRD90U) Link ff3f6b279338ed54a52cf4776ee8c4d7268a4c925a944146c91c6ebd3f76e0a7
7.0.0 (NBD90X, Oct 2016) Link 78b5a5f8a794ccec0015d63e6762bae019b5ff43cfac7688d53ac87d49f7fbb0
7.0.0 (NBD91K, Nov 2016) Link 32c2eac8b2d8186e97aeb8914a49f2c378fa9fb1178bc73ddc81ba2590a06b52
7.1.1 (NMF26F, Dec 2016. All carriers except Verizon) Link 61b4a9152b192f6953f1f7e576d00232c6965534a9c6584b6d250c206392f8af
7.1.1 (N4F26I, Jan 2017) Link c905558312d4c20c9b803ec605ba9984a0104266a62aa4d4929655fe4413e55c
7.1.1 (N4F26J, Jan 2017) Link 36f7979e487c03117d7d6b39d6eeed627bc8f2916f3a33e04b3740510e87f8c3
7.1.1 (N4F26O, Feb 2017) Link 6a853f192bd0568f568d2caae523da1a4ef16d5438eb25481fd2f2225a84e8ae
7.1.1 (NUF26K, Feb 2017, Verizon Only) Link baec5b5e037c056acc677b85ae4ae3f925015bd7d930ae053bd0ae4d100585b3
7.1.1 (N4F26T, Mar 2017) Link 9675b78ed0de3179329c583b043c1ca539522c6d936e2a8afae67886a1b1aba3
7.1.1 (NUF26N, Mar 2017, Verizon Only) Link 50c44f303e573df0cd88e75cdf9e3a304f42d705aa656f28c920ee3ebe17bf28
7.1.1 (N4F26U, Apr 2017) Link 417e98bd956920507575911f6db74bcb81dfe104d4f5aea79ca066db02dde6b7
7.1.2 (N2G47H, Apr 2017) Link f3bffaba03081a462f48f93d3cfc298f3309d7aa40f1d7628ed47a00aa5dc0de
7.1.2 (N2G47O, May 2017) Link ec3f4df1327284bc68fef0fca9d99a9287034873cb7e338a76b3ae14fc3e807e
7.1.2 (N2G47W, Jun 2017) Link 135b87b267ca8dfe32a51ae2295c7df84ae60793ba173b6ead808d834ffeea71
7.1.2 (N2G48B, Jul 2017) Link 8166f6bf470583b9e82e6dc8146cd2f606be824d13c0b9e930b7d6c19b48c814
7.1.2 (N2G48C, Aug 2017) Link b004b71e951181d287440315a35124f9fa831c997ea5a4ee1fd375aa5ad04c2b
8.0.0 (OPR6.170623.013, Aug 2017, Not for TMO/USCC/Fi) Link 517abdd6acbd668de344a841236aee998a1a8c98cec9746e5c9e24b717c5a126
8.0.0 (OPR6.170623.019, Sep 2017) Link d77845753289e1588994026d02cd1f6d90cebb900d839af96bc7ce310c5a7ad4
8.0.0 (OPR5.170623.007, Oct 2017) Link 7a7505e1c0ac47d1c0b3b2ac05ea589f71c172dd80147e18b3d2ba784629de54
8.0.0 (OPR5.170623.011, Nov 2017) Link af497ac675971ada9e48d3056a8439e2df12cb7bbb99eb77a342051b85260ad7
8.0.0 (OPR5.170623.014, Dec 2017) Link 234956cbafd9509c208606682e827179364b35beedff7adf7c91855675558286
8.1.0 (OPM1.171019.011, Dec 2017) Link f5b45df79c5822ee0edb095df12cbab16161cd1aef4835acaa0e925571985634
8.1.0 (OPM3.171019.013, Jan 2018) Link a647890223f733df48986ce0da50dcd62ff027bf1a1cc56f551afadf0e742d49
8.1.0 (OPM5.171019.014, Jan 2018, Softbank) Link 23ee50e151e7e86adde30a6d4275c87a9c13cef2dbd764fa839ef8a836767a2d
8.1.0 (OPM3.171019.014, Feb 2018) Link dc6c073ee36d0892c3a7f2ea027411ef09e8f5f86038b256a515ae1c95072804
8.1.0 (OPM5.171019.015, Feb 2018, Softbank) Link 5820f7231b8c26809f5e5289921694d7fae1ca84bc074dcb6cb9c6d8930fca65
8.1.0 (OPM3.171019.016, Mar 2018) Link 21b6cd95abf53972bbc82a46b0843848f4c57b936d67146734dc6349d5bca258
8.1.0 (OPM5.171019.017, Mar 2018, Softbank) Link cae9a4fdcf7cfbc47d8f181b436315b0e70615d1ac372523788a996fd831e089
8.1.0 (OPM3.171019.019, Apr 2018) Link cf5e76e4241261e83324af0e9e51e342dd21268edce53a0032067328c6bd487a
8.1.0 (OPM5.171019.019, Apr 2018) Link 673ade6ac44a3f374211a3855e71a0dbf08fba9a0512b2311024f665f74579b8
8.1.0 (OPM2.171019.029.A1, May 2018) Link d2f29af4d93364eb9bc67f6a2a4023b7fe0bb675bb0393c691ecf1596078aa9b
8.1.0 (OPM6.171019.030.B1, Jun 2018) Link 94c3a3a64faae6d09d94dd50c24abd3ce27794c9c8c25fb5445dd07cd0493aba
8.1.0 (OPM6.171019.030.E1, Jul 2018) Link 668c121c144d91de40253cde5ef530b05a17252b73b6cdd1a465d46808ff623e
(OPM6.171019.030.H1, Aug 2018) Link ad27a75f88fee0a6b506b9d22a3a0fb2371caee6a22feea746b2980fb8dd41d6
8.1.0 (OPM6.171019.030.K1, Sep 2018) Link fe46175a4e5602439b0b8d5e1b025157afdabc07406fde378aa1aca48ea8bb1b
8.1.0 (OPM7.181005.003, Oct 2018) Link b6000627a9f14773733cb98d1821a2562ab69fdcabb7e852f80b4b4c1cfd6e86
8.1.0 (OPM7.181105.004, Nov 2018) Link 81e2a4cceb46ce745ae9522c2c142323ec9a74c1b89fd17d2c1bbdaeda557a32
8.1.0 (OPM7.181205.001, Dec 2018) Link abb36a2fddb08501f9a425b19e43200ac4d639bbf4e387bcfff206b28b7024fe

"bullhead" for Nexus 5X

DescriptionDownloadSHA-256 Checksum
6.0.1 (MHC19Q) Link 8fe67a2b9e060d4790dfa5e7a2232b1afa38a79236c391d063c6c5de178c1396
6.0.1 (MTC19T) Link 4ea6522b624459855af3b19f3c9c3a1d7a2897602fcfa6f993dbf16680ffae45
6.0.1 (MTC19V) Link 821d513dc262ac277d2ef4ed680e81938e14bd59db06e3c8d3a66ecbd4f0fd9c
6.0.1 (MTC19Z) Link b4cfce2c1096881dd209962f0affe1194aa9853aa5edd666fce758f979452239
6.0.1 (MTC20F) Link 6303e5cd34832b2fbb6d701ec125009b9c24bdf3b56711d2aa24645b7ed584d8
7.0.0 (NRD90M) Link fdb8250a2e95b172bf543cd4da5899b4b91da165283320dcbd2a2f60f5229011
6.0.1 (MTC20K) Link 531d55c028291eb84dc217584d4f7c098490603875458e46f2634683354a6a76
7.0.0 (NRD90R) Link b3b77497bf68b43ed7edd57b20d92c97ca3684204dc96a806d9ad315d5c1dbc6
7.0.0 (NRD90S) Link 11bca8c7440fb1fe6839b336d90373acd403afa57c2a6bc7a91dbe7b01b67f75
7.0.0 (NBD90W, Oct 2016) Link 5b7cbeb8efd9391e1585d2494bb2f4a659882c0871d4d35a4da98d214d958d81
7.0.0 (NRD91N, Nov 2016) Link 888dc7ab6ce50c6dce9193722f03a576d41a1d5f034a5210c65d060f5b17bc2d
7.0.0 (N5D91L, Nov 2016) Link b2644ba541d725a7d9ebbb5fb5069816c9a1fd57faa07f66c68899646cbe8b08
7.1.1 (NMF26F, Dec 2016) Link 27b4075c09857058a24b02d790014be6c2fe7ee2fd5fb5abc80736463eb4c5b5
7.1.1 (N4F26I, Jan 2017) Link 06953aece112747cc32b2c0115a12f1c1e548150aed1082030b9275b312dfc28
7.1.1 (N4F26O, Feb 2017) Link 6624f52963cab4022ad421a067b682476dd35c5b8087e4df0984f2f622db0e4d
7.1.1 (N4F26T, Mar 2017) Link 648ce802bd192160d21ab000106189714069156ce87c1d020a9badd324d54682
7.1.1 (N4F26U, Apr 2017) Link a15b50b31223cc2832fc7c163b92e2d38a7b063b1a9742fafaf7dee383cdc73c
7.1.2 (N2G47F, Apr 2017) Link 87f5e6a4aaadf5ace6395b9c8d1e101bcc48b21d5b68b75e073657a32a70ba9c
7.1.2 (N2G47O, May 2017) Link b6cdc215d284184b8a8a01a7c480f8698eb5c96f21735de73235a3456e9f7b50
7.1.2 (N2G47W, Jun 2017) Link 603886472e96bbfa0b579fa21292b0e14bbda1548e36d89125231096dab41bc4
7.1.2 (N2G47Z, Jul 2017) Link 07a2c0b482129ac2d4091f6fa7a58a365f91fd4f759939805337a3086ca8b128
7.1.2 (N2G48C, Aug 2017) Link b90e4a002e809702b184811854a3170217328df5f387ad51ffea4f3c2f527700
8.0.0 (OPR6.170623.013, Aug 2017) Link 87f85e44518b4ab632f14403c7817c6afefe0c66304fa1368d9857c991e13925
8.0.0 (OPR4.170623.006, Sep 2017) Link 986370941805502c0357497d36ffae9789ed3c54da821b633580488b8827faff
oreo-r6 (OPR6.170623.023, Nov 2017) Link f6c8c45682ada91450cd3fd129202d2e5de019436ffc6464dea1ff84d7b19ab9
8.0.0 (OPR4.170623.020, Dec 2017) Link 452f640864f6c26c6988268d104dfebb85c088207a8daed2079a8f27469c3e17
8.1.0 (OPM1.171019.011, Dec 2017) Link 7fe530d17f4673f41b6bec7a3d3afd45a07ba791c86bda4b1ba158f9849e72f6
8.1.0 (OPM3.171019.013, Jan 2018) Link ab4fc7d39495316db4660649816159237ea824a003071dfe50f7244bd0c931cc
8.1.0 (OPM5.171019.014, Jan 2018, Telstra and Softbank) Link 463ef3760d0c82ce1fccf98b1d068b02c606fa863dc9d96d55a562011ba34f84
8.1.0 (OPM3.171019.014, Feb 2018) Link 19dbdfddb03f4caeca971b789d272e63a8fe1426397fa7e2a0dc8c700e7d22a1
8.1.0 (OPM5.171019.015, Feb 2018, Telstra and Softbank) Link 394c6cd7194c07c9d6cc9cd014338dd1db2e0422fd58ee4b65f9e51fa404c013
8.1.0 (OPM3.171019.016, Mar 2018) Link f7a9b546414965decd2a38fbb04edb2f386ebd3bea6f6ee3640b25c80dcad606
8.1.0 (OPM5.171019.017, Mar 2018, Telstra and Softbank) Link caac66185619f5d5cf4ebf12fc8a58e5e50c33a68957d14c56aa7fe9e7c3f139
8.1.0 (OPM2.171019.029, Apr 2018) Link eaafce59996d4c7a72a1cee50add8ecc85497ced5c1e0b8d38c1629011aa7fc9
8.1.0 (OPM4.171019.016.A1, May 2018) Link 510a2077d6cea3fd26de10839a2c854409c332a0d2102a7635a7690372d2d41c
8.1.0 (OPM6.171019.030.B1, Jun 2018) Link 264e9d266a59ef95bee2233d5a1c6206bcfd056d9c9195e5674a2ba5a8ef7533
8.1.0 (OPM6.171019.030.E1, Jul 2018) Link 29a6b953872a95af9eaa4af0de28b71fcb248fcac4db8a4567d963ca048660fc
(OPM6.171019.030.H1, Aug 2018) Link 9578f5598b401b76bf31cc15f1beb5e5d63dffe436d68580efd560372e7e87ac
8.1.0 (OPM6.171019.030.K1, Sep 2018) Link 118c2b3a195edd44dbeb1f286fe05e543b80bec1e8214ccb726f2b18d18f0782
8.1.0 (OPM7.181005.003, Oct 2018) Link 94150a7894a98768c251156d0f50d7a08b2246867e4044c2c4523af0cefa6d32
8.1.0 (OPM7.181105.004, Nov 2018) Link 1520cb0bbdf9229cb0acc95760d132053802fc28f442678c42a3b1864d60eb64
8.1.0 (OPM7.181205.001, Dec 2018) Link b1af2457a90503c56d45019a1901480bf9218ac02c7b7768d01fdc4e2de17078

"hammerhead" for Nexus 5 (GSM/LTE)

DescriptionDownloadSHA-256 Checksum
6.0.1 (MMB29X) Link 13c27a19d036140ef17c3d7b53b06f819258077cfdf52bc5900d9975f6b27c6f
6.0.1 (MOB30D) Link 74ff57bc6526cc0349b78856beed7f20bf9572198d6c7331881d952afb06ebca
6.0.1 (MOB30H) Link 672f59e1c1f441df229026ffbc42d4dc125f2548e3e258a07f18d71e1c5974f7
6.0.1 (MOB30M) Link 1af36a1788360dbae08f3dd9fce905f65ca0942078acafc807600910e066ea5c
6.0.1 (MOB30P) Link d447411d0ecb7c4ce16a08f57750aa53708cbe2bdd5c90061255ec4ce3e431e1
6.0.1 (MOB30Y) Link 308025d1faacb235fc7a07f1e1612b0be5c1d5d326d7a39af3d0ed42a0851e7f
6.0.1 (MOB31E) Link 284a96a504593216c61d2460ce899d34a4d3699f09039d6e54cd9c540aa217b2
6.0.1 (M4B30X, Oct 2016) Link f2eb90a8da6bb28731dbcd72b47b2e228720cb815954614f707d421751c02881
6.0.1 (M4B30Z, Dec 2016) Link 752c16b1f819d051d1d11ebd5be001c6118abbb0e31d099c6a286dbd30342f67

"shamu" for Nexus 6

DescriptionDownloadSHA-256 Checksum
6.0.1 (MMB29X) Link 271025536502b0a1357022df0fe7cc4a2f0dbf9744f088b04057c7bfd2dfb6f2
6.0.1 (MOB30D) Link 6505ca973e14c11a93f70d0a6a8c12485cac127558f64f4c10424e205b973f91
6.0.1 (MMB30G) Link ed58106149d75046c6b196776e9b2058529fa6e99809d20fd3736dbac7487db3
6.0.1 (MOB30I) Link c0bdba8e5b2402c3faa0c0274e7da9aa15af9ab7edbe9e90b793c3554d5797ff
6.0.1 (MMB30J) Link d684d15ceeae6f074636ad5680673f32f198105f3fafd349eb21bd857557a828
6.0.1 (MOB30M) Link ec287aa674ee60f79f2d716b382832df47612276ecd3c3e515d5bf2a3ab59bc6
6.0.1 (MMB30K) Link 93ddd447dd1f8e6bbe8dbac6578ffbd7b3f87e1a6702af85a3415c46b7071d59
6.0.1 (MOB30O) Link a0b05697430b9315fed3e99a91f801efad823f8385899f639dc754d5cf933b34
6.0.1 (MMB30R) Link e5280455b0930c4ddcdcbdd7a27082d1de1197652ab5842fbefc117c54641a57
6.0.1 (MOB30W) Link ff0cfe32128f3dc237f665e8fbe457d6bc39b0687e5f3023773f2bb577ca7014
6.0.1 (MMB30W) Link 4d32143a40a9d155cf7848e9786343a1aaeae169f39346a86734c113cb328311
6.0.1 (MOB31E) Link f90f1dcba01b8c044aea62a06672bd85a4c917082301d037a9e2a3d6fd64eaf9
6.0.1 (MMB30Y, Oct 2016) Link 9685a99394783ce7065c969d36eef3ed722c2d4fa325b4a1e45e28849e32717a
6.0.1 (MOB31H, Oct 2016) Link 4b066c21b6513f5bb86ef6871bc4f9bb2a181033757d8a67e88207134734622b
7.0.0 (NBD90Z, Oct 2016) Link 78a931cb0f9295aa7ef65dc8ee7f5a61712fe54e9a38e9178501903d4ca73fd1
6.0.1 (MMB31C, Nov 2016) Link e1889e9dab158ae119c3d3be552ad6f10b592b6611d69491cb2485f0dba5af3d
6.0.1 (MOB31K, Nov 2016) Link 5e66b8504c50eaaa813a5ac48a5be60663aafa56bae67c60a7adb9f25023d1a1
7.0.0 (NBD91P, Nov 2016) Link 884ad5e6de93777c397abbd8c629c9337237bcde398be9d1a355ff6cbaf450d7
7.0.0 (NBD91U, Dec 2016) Link 344a7338c1aca94b769946b4392bb14356ef7bd66ad66ba649eac4cee4a2b4c4
6.0.1 (MOB31S, Jan 2017) Link cb600f3ebc170e928e76fbf9314d796b00e6e4720e316271fde57c74495e3b02
7.0.0 (NBD91X, Jan 2017) Link c809432ce6fae530b02b74051f1accb5042840cf00a4d792dfb1a236eba9cd2b
7.1.1 (N6F26Q, Jan 2017) Link f44928649c6eaff46f13c36bc34dea4fe926aac5e1077e874e319dd1329173fb
7.1.1 (N6F26R, Feb 2017) Link f3fd968c37e14a04a7163994dbdd8d9fc1902bec76343acf3527f6e9800f99b8
7.0.0 (NBD91Y, Feb 2017) Link 92882eed1864c9ae6646a2b64817388984fcedc65f1a57fcd780ac4b0ad86d89
7.0.0 (NBD91Z, Feb 2017, ATT Only) Link aa71753cdc5ed805f1134cadb99761bb16da164abd1c99394845959986b70152
6.0.1 (MOB31T, Feb 2017) Link 7cb1402df13cfc10fed495728855e2241501eb660d085c9796379aadd34da80b
7.0.0 (NBD92D, Mar 2017) Link 4f146ebac9c72ff3c268d2c74b982c34f807fcc09d4c2e0fa2fa9c97fbfa5bac
7.0.0 (NBD92E, Mar 2017, ATT Only) Link 4e043c2e65edadd5203028561b1380ede7bc9707381174f0f60c207d8021b5a2
7.1.1 (N6F26U, Mar 2017) Link 62ac854958c15ac8955cf9c4964717ca2d54440c590c759b05312484541875f5
7.0.0 (NBD92F, Apr 2017) Link 414694003be4f28320acc036940ddf55bbbf5600736e0046ebc1cd9b1862cd33
7.0.0 (NBD92G, Apr 2017) Link 2b65257beed60e86e7478e107f786cc219beffcbe79a85f90256f5537e558331
7.1.1 (N6F26Y, Apr 2017) Link 5922a09b1163e4cbe074f9acb34cad6e4f20a77e8738cecbc734216871f25ed4
7.1.1 (N6F27C, May 2017) Link 8b9f07d11bc2d7a9e0c7eccd43009f8c8cb0c633156439e07c52609aff6fecf4
7.1.1 (N6F27E, Jun 2017) Link a48c6fa82fc9cee083c8c1b9f187bf5c7be68d2bbe23b05bcae175a6500a6557
7.1.1 (N6F27H, Jul 2017) Link 2b12fcac8624501aa45097536689fa5fa3cf68d6c662916b731caa901fa38853
7.1.1 (N6F27I, Aug 2017) Link 52bf43950acb2736ee0972ab617534af8dbed34becd2d8e8d51696059db64d73
7.1.1 (N8I11B, Aug 2017) Link 6ae9468ee58093b96228ea1a3f46941e02465b343463d0d84b70aaf9ffac204c
7.1.1 (NGI55D, Sep 2017) Link 13b2aa295fa7d66b4d03f6f7eab77137428b8e86bf4c734a3393de040f71c145
7.1.1 (N6F27M, Oct 2017) Link df27bd83e29092c472da2793ffe47670101668e9410ee41e5af3fce722050cb9
7.1.1 (N8I11F, Oct 2017) Link b4de4046e9c47f16eeb54fa2f77d628253f6a88c3b0fd850dffa51d750652f01
7.1.1 (NGI77B, Oct 2017, Verizon) Link 0ea2ff804eb84cabbc018633f631959142bf87d8e03e8da8d8e3af3d651059f0

"razor" for Nexus 7 [2013] (Wi-Fi)

DescriptionDownloadSHA-256 Checksum
6.0.1 (MOB30D) Link b7239cf42f860119ef27e4e54d4b72e83170cbd163435b25bd0fdef72aaf6e5b
6.0.1 (MOB30J) Link a1d349f70a35e70f3be03795503cb554c5b24082902d4173251eedb529fc6e85
6.0.1 (MOB30M) Link 084c62a1f5af4a90305f49f2ad3c20cefb177bf08ac123144fc78f393f05a98d
6.0.1 (MOB30P) Link b41593f4a128a536ae5a73fbd7d839d5885c44248751e9c80b13d761c478638f
6.0.1 (MOB30X) Link 54635e458810390fd33145fb2f162816530274510d8444aa6502c724c8e4972a

"razorg" for Nexus 7 [2013] (Mobile)

DescriptionDownloadSHA-256 Checksum
6.0.1 (MMB29X) Link f97b2025fc25363ddd69d0a132485b2ce062a0647416cbb0773f5e8193964701
6.0.1 (MOB30D) Link e01d8774929914d185e74140e71dc4587b1bc4c89bddd3a8cdd857443f423215
6.0.1 (MOB30J) Link 469e2683222217982dcfaa178cf1cd93380a09f6165a5f3b5953391ec7acff0d
6.0.1 (MMB30J) Link d8a9effa1b6ce8d4dc13ace569789fa22c53665435c51dea3cf36e3d8f016f29
6.0.1 (MOB30M) Link 2807dc31d7237c09df5968161bb645f6df731ec901f1583b35b9f92d7c47f8e4
6.0.1 (MMB30M) Link cc2f4417444ebfc4d6fc52757c2679833a01912a0adcd33d3b919e208a57c399
6.0.1 (MOB30P) Link 2dafc4fb727717278942d3c837baf86779844d5d7752d87da50f09b46c5f774c
6.0.1 (MMB30S) Link 0cfd0b2f3f96f6c2ace7f031c446fa5b1681dd775ffa41d2ccea17dc60cbaa11
6.0.1 (MOB30X) Link 0b5aa9df66db710ae72f93ab8a1bcc8d7fa1fb7e8b5ffb291481afa74a84446c

"volantisg" for Nexus 9 (LTE)

DescriptionDownloadSHA-256 Checksum
6.0.1 (MMB29X) Link fa4a68a8fc782d0c0a7be218f252c34ef6bc86e7a87f04327fe638acaac98062
6.0.1 (MOB30D) Link 0339a6a996e2e65a4e542fae2aad9eb06fbe04d9cb8b91f2cb0565b562f7a1ea
6.0.1 (MOB30G) Link b2bcd502c2ac39d929a38da8c8a7e8d917f710f154ba7ad0b3e32b2637bd5367
6.0.1 (MOB30M) Link 6e8b9b5e844c0584a693c9ea214bf63b79492204651b7425274aaa95fdb5c013
6.0.1 (MOB30P) Link 9e4ca5475abb6e1a52537306f2c7b3ef7987b7bc7dd1bb7bc2d8d836bd71f2c9
6.0.1 (MOB30W) Link 09f750122d12b79fc7fc718b05adf0d2065e04814f53ac9f3356aeb53b4ea749
6.0.1 (MOB31E) Link 9a2b35653d0afcfa7b558bd1a803222338ef401d7fef6a37e2131895681afafb
7.0.0 (NRD90R) Link d208bec7b99a03e357b0ab2c109e3cdf6ec9d99acc2964166f1f857cb8d08217
7.0.0 (NRD91N, Nov 2016) Link 0a6313402f7d9b4f786c12e6db448bbebd73f5cc5a551aefd04ef82895c41115
7.1.1 (NMF26F, Dec 2016) Link 18495d4b11d9071d6e1e09065e0334f64dbc63b85fc10bcb5a8e5521c5d846d7
7.1.1 (N4F26Q, Feb 2017) Link 753c09a2470ab95024b878830ac3a73b2f655e9ef573c773a65149ff3d0f1b1c
7.1.1 (N4F26T, Mar 2017) Link 441953ff9c1198d53db4faa8dc88a7111325a9ff0b17d769d9312b69d9baea26
7.1.1 (N4F26X, Apr 2017) Link 350658e2af3ea7805ae90345a7355aabff6dc18e258a1886a9050f4696d4c934
7.1.1 (N4F27B, May 2017) Link aefcb323f3b6e1246528bd9ba078b008b3d942c575b8ca5c9d77b13c2d55eb22
7.1.1 (N4F27E, Jun 2017) Link 229ddb0a112ae2acff37caf26581e3e65e50693dc8355b8deb28cb1f15205bf5
7.1.1 (N4F27I, Jul 2017) Link f4d0b76ddc6a6c7d31eb0ce0ba52f9425206f7454a656b28172f75d37f4ea238
7.1.1 (N4F27K, Aug 2017) Link 90395132c6b93473c140470317a2aaafb3e375af7732486b892eecaccead9c79
7.1.1 (N4F27O, Sep 2017) Link e7d43de7f2beed7221cec63628308e0df985a97c1bf478c3fc169b52d4875d6f
7.1.1 (N4F27P, Oct 2017) Link 3616b6a4e8187d343fbc188b35b767bf44d4f20defd6ed33a7be4867b7850f62

"volantis" for Nexus 9 (Wi-Fi)

DescriptionDownloadSHA-256 Checksum
6.0.1 (MOB30D) Link 1da7c803f85c64a90369b5c90af9bc6ae440e6f19595b9f5ee938d7b5d99b9a0
6.0.1 (MOB30G) Link 555f0865d7521b8d1559dd32562c2236ccba685b4b5a55812b2c3671e1ff4a4d
6.0.1 (MOB30M) Link 738daf66c98b01cf57db6bbd0c6054839ed485e93adcfdfc5bcf6ec0d41d05c5
6.0.1 (MOB30P) Link 0fa39d9778c60273e02ced92373586e1c2d9d341a98ca5eb5ebd55735a820590
6.0.1 (MOB30W) Link 32d7336e122bc2ffbdcde42ca84037ef1c0f082d60a6421efe1ad8bbf5c1eec4
7.0.0 (NRD90M) Link 5468c87c1e80de6b4fd6ad3d4772caf07ffcc99fc590a6aa97d62245178049e9
7.0.0 (NRD90R) Link 7c417d20aaf5f27d1ce5eef7c53cf8c5deee2dcc5a3f75e76383699184535b13
7.0.0 (NRD91D, Oct 2016) Link f88a707f06b531cc2b5fa8fde4379b940ae4ed5f8d3cd3d5a3984fd2edfee890
7.0.0 (NRD91N, Nov 2016) Link 0319bbd6c08e8e941d7d74069f8c71fbd4c4c6934411926f7a06cc0ceb646647
7.1.1 (NMF26F, Dec 2016) Link de961a3cdc899c8dbe5dd2539c23c2c0d2e3bd1e2e42ff894ec5a168ff3901bd
7.1.1 (N4F26M, Jan 2017) Link 9524dcbf109c0863a61a6b70c006cde498b3663a489c1c13eeb33e30f4ca2530
7.1.1 (N4F26Q, Feb 2017) Link c1d0968b864889bea2e2b4ee179e5b9cfa414d468304132db9376c866f048d03
7.1.1 (N4F26T, Mar 2017) Link 1d2abb81d1a163dd8b897f46a8e0ab9d40129583f3c26025481bebccbdbc1457
7.1.1 (N4F26X, Apr 2017) Link e2cc193d4bba9950447709069a663663eb02e3c833e5cede1b79fba2b569507b
7.1.1 (N4F27B, May 2017) Link e5b3a8a9db123a9aa5cc9443dfe53b5b4c310b9995e7f00cbad3e902e0c50232
7.1.1 (N9F27C, Jun 2017) Link 3a1f1bb8d609c4250fb34b40911e1c8fb62c836cb78cace6e01f50ddbac359f9
7.1.1 (N9F27F, Jul 2017) Link 05abe6803f63971267a5d109681a5a0ef3f03bf63d482989d7a95d7e126cd83c
7.1.1 (N9F27H, Aug 2017) Link 352ae317135665441b3301c4ebfa335caae57f1375230b6b18350b33019aa38e
7.1.1 (N9F27L, Sep 2017) Link 7fd5d6e6e7d486b6aaa7a0c59bb8e697f74c1a11b0647a4ef939cfef32206edd
7.1.1 (N9F27M, Oct 2017) Link ad1aee0f88649afd7aab15f188b9532506b52224111e8fa97644189f0e732ceb

"fugu" for Nexus Player

DescriptionDownloadSHA-256 Checksum
6.0.1 (MOB30D) Link 6aee10f97242f2b47d5daa7e4b03aa8c3be3378b751b38adff50d329ec2199ac
6.0.1 (MOB30G) Link 71bd9ea8f2c19e18e953b77de311213d084959b2a6d4895e81d77a07e8099de7
6.0.1 (MOB30M) Link 6f4d7f77bf37f108c4edee5526f26ddf8a8bd284ac6b02f781bffa3f333bd55d
6.0.1 (MOB30P) Link 443443ab2b9f35da3b6c8ef2059077978bacac2cd7fbf9699d6c2bb9c9b42438
6.0.1 (MOB30W) Link da50239826081ff3105bd90765e9b6ca460ac95f5aef3bbf80a9652e6bfc2789
7.0.0 (NRD90M) Link 2c446ffb1a548b04c711b18bf144768b8276238d16460fc6a22fc321a5f64ad1
7.0.0 (NRD90R) Link a45ccb3050882606b0877d0520f39d8b9ad94d6a8daffc37ef6fc402a548a40c
7.0.0 (NRD91D, Oct 2016) Link 647860d6462cea38b926b25c125fe6bcbc7476e83f8ba0089ea33e35986fc7e4
7.0.0 (NRD91N, Nov 2016) Link f340b3154b60fb5b402a1ca92eba6da4bef1180559458726484b682e783fbd14
7.1.1 (NMF26J, Dec 2016) Link 8cd065bcaf394486e575e749c26892b5b54500368fad4f6c9a7a2b9019f91cda
7.1.1 (NMF26R, Jan 2017) Link 109e4df1478f7d5327752fffe97aef45519e64f4203356609966bd003cef1d0b
7.1.1 (NMF26X, Feb 2017) Link dd6b5ed238ffd1efc0cfb1096f6c4012c10743b2a3bf9ea91e60000f1b5d542c
7.1.1 (NMF27D, Mar 2017) Link 24aa0ddbb0bc56e370c277369020cf919073fe945cb997d3fb184dc732b0408b
7.1.2 (N2G47H, Apr 2017) Link 8ce1e15200ac41d93c16e72fd9b2cb6d7a63cb7504652a4745ace32768191aa9
7.1.2 (N2G47R, May 2017) Link 689c6f92586e97f3b6f5ccc76137bd42542adca639fbb9a5d83654ac6261a7fa
7.1.2 (N2G47X, Jun 2017) Link 9f1ac867a983a35f15b663f465185cb313e58e180b45323040bccd87f96c77e9
7.1.2 (N2G48B, Jul 2017) Link 13d76eb6e6652f4998d5ac7171c0c71c7e58865c7e8a5b5462f49cc9855defd2
7.1.2 (N2G48C, Aug 2017) Link 0f0941ab0035032a1c4ef830b23b6d69737305130a92e8d9f091d10be21ba95e
8.0.0 (OPR6.170623.021, Sep 2017) Link 1474ea3b8b281493c58582581b76d29190abb952656c27c7882f90fcff5957be
8.0.0 (OPR2.170623.027, Nov 2017) Link 401d182ecee4258bab1f78299ddcd2076413c9672fa4d1f9f8c6eeedb1bfd4aa

11 Alternatives to Whatsapp that Actually Respect Your Privacy

When social media giant Facebook purchased everyone’s favorite mobile messenger “Whatsapp,” users were promised their data would be private and that they wouldn’t be subject to the shady things that Mark Zuckerberg and crew are known for. That promise is all but gone, leaving many of us seeking alternatives.

As time has gone on, more and more privacy has been taken away from Whatsapp users in the name of “analytical data.” Gone are the days when you could trust this app to be totally private and not expect to get data mined for valuable information – information that could easily be sold to advertisers.

Pretty bleak, right? So let’s lighten the mood by presenting you with a bunch of Whatsapp alternatives that aren’t made of broken promises and baby tears. Here are our top picks.

1. Riot.im



With a focus on rooms, conference calls and other pretty large-scale interactions, it’s easy to overlook that Riot functions as a perfectly good (and privacy-centric) messenger app as well. It’s an open-source app, so is constantly being iterated to have maximum security.

Its best privacy features include the fact that you don’t need to enter a phone number to use it, and end-to-end encryption (which you need to switch on manually), and control over message histories so you can change how much new users in chat rooms can and can’t see. Its based on the Matrix protocol, which has an excellent reputation as a secure communication platform (the French government even started using Riot for its confidential communications!).

Available on multiple platforms, and making it easy to send and receive all kinds of media from small documents to chunky video files, Riot.im is a great organizational platform as well as a secure messenger. Its green, clean UI kind of reminds of WhatsApp too, so those moving over won’t feel too homesick.

2. Wire

Availability: AndroidWeb


With end-to-end encryption and a no-nonsense interface, Wire is making some waves on the secure messaging scene. Made by Skype co-founder Janus Friis, Wire has some heavyweight design nous behind it.

You need to provide your your mobile number or email to use the app, though these aren’t shared with other users, who you can communicate with via a username. Timed messages are also an option, letting you self-destruct them between five seconds and one day after you send them.

3. KIK Messenger

Availability: iOSAndroid


KIK has developed a bit of a salacious reputation over the years as an app used for sexting, drug dealing and all manner of underhanded tomfoolery (as well as standard messaging, of course). If nothing else, that’s testament to one thing: it’s pretty darn private.

This free app doesn’t store your phone number, so you’re identifiable only by your username, and all messaging data is stored locally on your phone, leaving your privacy in your hands. KIK is therefore virtually unmoderated and perfect for the privacy-conscious.




The biggest WhatsApp competitor you probably haven’t heard of, LINE is a Japanese-developed app that offers a powerful feature set, conference calls, thousands of stickers, and a clean, customizable interface. It uses less data than WhatsApp during calls and end-to-end encryption.

While certain features require LINE to access your contacts list, location and so on, all of this is optional, and whatever data you send is encrypted on LINE’s servers. You can also set self-destruct timers to delete messages from LINE’s servers.

5. Wickr Me



In probably the best endorsement of a privacy-oriented messaging app, Wickr Me is apparently used by journalists, world leaders and other sorts who want to keep their private business private. (No names were specified, mind you, but that’s sort of the point, right?)

Like WhatsApp, Wickr Me uses your phone number to log in and contains all manner of silly and fun features like stickers and emojis. But that’s where the similarities end. Wickr doesn’t store your contacts on its servers, doesn’t keep metadata, and deletes messages irretrievably from your phone when you ask it to.

It’s free, doesn’t involve ads, and encrypts your data to high heaven. Good stuff.

6. Telegram



Telegram is perhaps the most worthy alternative to Whatsapp. For starters, it essentially has comparable features like voice and video messages, a phone number-based login system, stickers, emojis, chat bots, groups, channels and so much more. Along with those cool features, Telegram isn’t just a mobile app.

That’s right, you can use Telegram on Windows, Mac and even Linux with their desktop app. Alternatively, Telegram has a web chat application for all your messaging needs. Best of all, Telegram supports end-to-end encryption and respects your privacy.

7. Kontalk



Have you ever wanted to host your own “Whatsapp” service? With Kontalk, this is possible. This app is an open XMPP-based alternative to Whatsapp that you can keep entirely on your own server. This means you and only you will be in charge of the chat between you and your friends and family, making it the ultimate at respecting your privacy.

Kontalk has an app in the Google Play store as well as the F-Droid app store and a desktop client. If you’re looking for a solution that you can make entirely your own, this is the best choice.

8. Antox/Antidote

AvailabilityiOS (as Antidote)Android


Antox is a robust and privacy-respecting messenger application. It supports all of the standard chat features you’d expect. Antox (Antidote on iOS), unlike a lot of the items on this list, isn’t nailed down to one single app. That’s because it has many officially “blessed” apps for Android, iOS, Linux, Windows, macOS and even FreeBSD.

This ultimately is a messaging protocol, and a secure one at that. It’s under heavy development. Ultimately, Tox is very stable, although you should expect bugs once in a while. If you’re looking to oust Whatsapp from your life, don’t mind the risk of using a beta, and want a bit of variety, go with this app.

9. Signal



Signal is an app for Android, iPhone, macOS, Windows, Linux, and Chrome that is designed around a similar principle to Telegram. Private communication is based on your phone number, and they promise you’ll avoid SMS and MMS fees, as your number is just used as an ID and not the point of transmission.

As Signal is pretty much a more open-sourced Telegram clone, you’ll see comparable features to that service, such as group chats and broadcast messages. If you’ve used Telegram and want something more open, you should give this one a shot. Regardless of its “clone” status, it’s a worthy alternative to Whatsapp.

10. Threema



Threema is a mobile chat platform that puts your privacy first. Like some other apps on this list, it supports end-to-end encryption of text, images and your GPS location. It also synchronizes with your contacts, making it super easy to find people who are joining the service automatically.

The developers and owners of the service claim that “even we as the server operator have absolutely no way to read your messages,” so you know everything you say is protected and locked away from big companies and governments mining your data.

11. KakaoTalk

AvailabilityiOS/Apple WatchAndroid


KakaoTalk is a chat application for Android, iOS, Blackberry, Windows Phone, Windows and macOS designed to let the world chat on a one-on-one basis or with groups in mind. Like most modern chat applications, this app supports the sending of multimedia (pictures, videos, etc.).

The service might not be as well known as some of the others on this list, but don’t let that turn you off. It’s a well-designed program and is about as prolific as it gets. If you’ve tried everything on this list already and haven’t found what you want, perhaps you should give kakaoTalk a go.


Whatsapp used to be a good app, and by most standards, it still is. Facebook has beefed it up with features and made it incredibly competitive. However, seeing as how this platform is little more than a data-farm for advertisements, people should seriously consider switching to one of the apps on this list.

Each alternative to Whatsapp listed here has its own strengths as well as weaknesses. However, one thing they all have in common is that they’re miles removed from any sort of Facebook control.

This article was first published in September 2016 and was updated in March 2019.

PHP Cheat Sheet

Our PHP cheat sheet aims to help anyone trying to get proficient in or improve their knowledge of PHP. The programming language is among the most popular in web development. It’s in the heart of WordPress, the world’s most popular CMS, and also forms the base of other platforms like Joomla and Drupal. (Don’t miss our comparison of the three.)

Aside from that, PHP is an Open Source and thus free to use. Since its inception in 1995, it has had several releases. The latest version, PHP 7.2, came out at the end of 2017.

PHP is a server-side language, meaning that it executes on the server, not in the user’s browser (as opposed to, for example, JavaScript). PHP scripts produce HTML which is then passed on to the browser for interpretation. Consequently, the user doesn’t see the code itself but only the result.

php cheat sheethttps://websitesetup.org/wp-content/uploads/2018/05/php-cheat-sheet-640x208.png 640w, https://websitesetup.org/wp-content/uploads/2018/05/php-cheat-sheet-768x250.png 768w" sizes="(max-width: 750px) 100vw, 750px" style="box-sizing: border-box; border: 0px; vertical-align: middle; display: block; height: auto; max-width: 100%; margin-top: 10px; margin-bottom: 10px;">
By GgiaEsquema-proxy-internet.svg: Randomicc [CC BY-SA 3.0], from Wikimedia Commons

The programming language is relatively easy to learn for beginners, but it also offers a lot of advanced possibilities for veteran programmers.

For that reason, the following PHP cheat sheet is suitable for you no matter where you are in your journey. It covers the most important PHP concepts and functions and acts as a quick reference guide for those using PHP for web development.

We have a lot to cover, so let’s get right into it. If that’s not enough for you, we also have cheat sheets for HTMLCSS, and jQuery as well as the aforementioned JavaScript.

PHP Cheat Sheet

PHP Cheat Sheet – The Basics

We are starting off with the basics – how to declare PHP in a file, write comments and output data.

Including PHP in a File

PHP files end in .php. Besides PHP itself, they can contain text, HTML, CSS and JavaScript. In order for a browser to recognize PHP, you need to wrap it in brackets: <?php and ?>. Consequently, you can execute PHP in a page:

  1. <?php
  2. // place PHP code here
  3. ?>

Writing Comments

Like many other languages, PHP also has the ability to add comments. This is important for annotating your code for human readers but in a way that the browser doesn’t try to execute it. In PHP, you have several ways for that:

  • // — Denotes comments that only span one line
  • # — Another way of producing single-line comments
  • /*...*/ — Everything between /* and */ is not executed, also works across several lines

A common example of the use of comments are WordPress theme headers:

  1. /*
  2. Theme Name: Twenty Seventeen
  3. Theme URI: https://wordpress.org/themes/twentyseventeen/
  4. Author: the WordPress team
  5. Author URI: https://wordpress.org/
  6. Description: Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
  7. Version: 1.5
  8. License: GNU General Public License v2 or later
  9. License URI: http://www.gnu.org/licenses/gpl-2.0.html
  10. Text Domain: twentyseventeen
  11. Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
  12. This theme, like WordPress, is licensed under the GPL.
  13. Use it to make something cool, have fun, and share what you've learned with others.
  14. */

Outputting Data

In PHP, data is commonly output using echo or print. For example, the title of this blog post might be displayed on a page like this:

  1. <?php
  2. echo "<h1>PHP Cheat Sheet</h1>";
  3. ?>

The two commands echo and print are pretty much the same. The only difference is that the former has no return value and can take several parameters, while the latter has a return value of 1 and can only take one argument.

An important note: Like all other PHP commands, functions echo and print are not case sensitive. That means that when you write ECHOEcHoeCHO or any other variation, they will continue to work. As you will learn further on, that doesn’t apply to everything.

Writing PHP Functions

Functions are shortcuts for commonly used chunks of code. They make programming much easier because you don’t have to re-use long code snippets. Instead, you create them once and use the shortcuts when you need them.

It’s possible to create your own PHP functions but there also many built into the programming language. Much of this PHP cheat sheet is devoted to that.

The basic syntax to create a function:

  1. function NameOfTheFunction() {
  2. //place PHP code here
  3. }

Quick explanation: the first part is the function a name (reminder: function names are not case sensitive). After that, everything between the curly braces is what the function does when called.

Variables and Constants

Similarly to most other programming languages, PHP lets you work with variables and constants. These are pieces of code that store different kinds of information.

Defining Variables

To do anything with variables, you first need to define them. In PHP, you denote a variable using the $ sign and assign its value using =. A typical example:

  1. <?php
  2. $BlogPostTitle = "PHP Cheat Sheet";
  3. ?>

A few important points:

  • Variables need to start with a letter or underscore (_) and can only be comprised of alpha-numeric characters
  • PHP variables are case sensitive, that means $myVar and $myvar are not the same thing
  • If your variable consists of more than one word either write it $my_variable or $myVariable

Types of Data

Variables can take on different types of data:

  • Integers — Integers are non-decimal numbers between -2,147,483,648 and ,147,483,647. They must have at least one digit and no decimal point. Can be in decimal, hexadecimal or octal.
  • Floats — This is the name for numbers with a decimal point or in exponential form.
  • Strings — This simply means text, we will talk about it in detail further below.
  • Boolean values — Meaning true/false statements.
  • Arrays — Arrays are variables that store several values. We will talk about them in detail further below.
  • Objects — Objects store both data and information on how to process it.
  • Resources — These are references to functions and resources outside of PHP.
  • NULL — A variable that is NULL doesn’t have any value.

There is no need to declare PHP variables in a certain way. They automatically take on the type of the data they contain.

Variable Scope

Variables can be available in different scopes, meaning the part of a script you can access them. This can be globallocal and static.

Any variable declared outside of a function is available globally. That means it can be accessed outside of a function as well.

If you declare a variable inside a function, it will have a local scope. The consequence is that it can only be accessed within that function.

A way around this is to prepend a local variable with global. That way, it becomes part of the global scope.

  1. function myFunction() {
  2. global $a, $b;
  3. $b = $a - $b;
  4. }

In both cases, the variable becomes part of the $GLOBALS variable mentioned below.

Finally, it’s also possible to add static in front of a local variable. That way, it won’t be deleted after its function is executed and can be reused.

Predefined Variables

PHP also comes with a number of default variables called superglobals. That’s because they are accessible from anywhere, regardless of scope.

  • $GLOBALS — Used to access global variables from anywhere inside a PHP script
  • $_SERVER — Contains information about the locations of headers, paths and scripts
  • $_GET — Can collect data that was sent in the URL or submitted in an HTML form
  • $_POST — Used to gather data from an HTML form and to pass variables
  • $_REQUEST — Also collects data after submitting an HTML form

Variable-handling Functions

Aside from that, there are a whole bunch of functions to work with variables:

  • boolval — Used to retrieve the boolean value of a variable
  • debug_zval_dump — Outputs a string representation of an internal zend value
  • empty — Checks whether a variable is empty or not
  • floatval — Get the float value of a variable (doubleval is another possibility)
  • get_defined_vars — Returns an array of all defined variables
  • get_resource_type — Returns the resource type
  • gettype — Retrieves the variable type
  • import_request_variables — Import GET/POST/Cookie variables into the global scope
  • intval — Find the integer value of a variable
  • is_array — Checks whether a variable is an array
  • is_bool — Finds out if a variable is a boolean
  • is_callable — Verify whether you can call the contents of a variable as a function
  • is_countable — Check whether the contents of a variable are countable
  • is_float — Find out if the type of a variable is float, alternatives: is_double and is_real
  • is_int — Check if the type of a variable is an integer, is_integer and is_long also works
  • is_iterable — Verify that a variable’s content is an iterable value
  • is_null — Checks whether a variable’s value is NULL
  • is_numeric — Find out if a variable is a number or a numeric string
  • is_object — Determines whether a variable is an object
  • is_resource — Check if a variable is a resource
  • is_scalar — Tests if a variable is a scalar
  • is_string — Find out whether the type of a variable is a string
  • isset — Determine if a variable has been set and is not NULL
  • print_r — Provides human-readable information about a variable
  • serialize — Generates a representation of a value that is storable
  • settype — Sets a variable’s type
  • strval — Retrieves the string value of a variable
  • unserialize — Creates a PHP value from a stored representation
  • unset — Unsets a variable
  • var_dump — Dumps information about a variable
  • var_export — Outputs or returns a string representation of a variable that can be parsed


Aside from variables, you can also define constants which also store values. In contrast to variables their value can not be changed, it’s locked in.

In PHP you can define a constant:

  1. define(name, value, true/false)

The first is the name, the second the constant’s value and the third parameter whether its name should be case sensitive (the default is false).

Constants are useful since they allow you to change the value for an entire script in one place instead of having to replace every instance of it. They are also global in nature, meaning they can be accessed from anywhere.

Aside from user-defined constants, there also a number of default PHP constants:

  • __LINE__ — Denotes the number of the current line in a file
  • __FILE__ — Is the full path and filename of the file
  • __DIR__ — The directory of the file
  • __FUNCTION__ — Name of the function
  • __CLASS__ — Class name, includes the namespace it was declared in
  • __TRAIT__ — The trait name, also includes the namespace
  • __METHOD__ —  The class method name
  • __NAMESPACE__ — Name of the current namespace

PHP Arrays – Grouped Values

Arrays are a way to organize several values in a single variable so that they can be used together. While functions are for blocks of code, arrays are for the values – a placeholder for larger chunks of information.

In PHP there are different types of arrays:

  • Indexed arrays – Arrays that have a numeric index
  • Associative arrays – Arrays where the keys are named
  • Multidimensional arrays – Arrays that contain one or more other arrays

Declaring an Array in PHP

Arrays in PHP are created with the array() function.

  1. <?php
  2. $cms = array("WordPress", "Joomla", "Drupal");
  3. echo "What is your favorite CMS? Is it " . $cms[0] . ", " . $cms[1] . " or " . $cms[2] . "?";
  4. ?>

Array keys can either be strings or integers.

Array Functions

PHP offers a multitude of default functions for working with arrays:

  • array_change_key_case — Changes all keys in an array to uppercase or lowercase
  • array_chunk — Splits an array into chunks
  • array_column — Retrieves the values from a single column in an array
  • array_combine — Merges the keys from one array and the values from another into a new array
  • array_count_values — Counts all values in an array
  • array_diff — Compares arrays, returns the difference (values only)
  • array_diff_assoc — Compares arrays, returns the difference (values and keys)
  • array_diff_key — Compares arrays, returns the difference (keys only)
  • array_diff_uassoc — Compares arrays (keys and values) through a user callback function
  • array_diff_ukey — Compares arrays (keys only) through a user callback function
  • array_fill — Fills an array with values
  • array_fill_keys — Fills an array with values, specifying keys
  • array_filter — Filters the elements of an array via a callback function
  • array_flip — Exchanges all keys in an array with their associated values
  • array_intersect — Compare arrays and return their matches (values only)
  • array_intersect_assoc — Compare arrays and return their matches (keys and values)
  • array_intersect_key — Compare arrays and return their matches (keys only)
  • array_intersect_uassoc — Compare arrays via a user-defined callback function (keys and values)
  • array_intersect_ukey — Compare arrays via a user-defined callback function (keys only)
  • array_key_exists — Checks if a specified key exists in an array, alternative: key_exists
  • array_keys — Returns all keys or a subset of keys in an array
  • array_map — Applies a callback to the elements of a given array
  • array_merge — Merge one or several arrays
  • array_merge_recursive — Merge one or more arrays recursively
  • array_multisort — Sorts multiple or multi-dimensional arrays
  • array_pad — Inserts a specified number of items (with a specified value) into an array
  • array_pop — Deletes an element from the end of an array
  • array_product — Calculate the product of all values in an array
  • array_push — Push one or several elements to the end of the array
  • array_rand — Pick one or more random entries out of an array
  • array_reduce — Reduce the array to a single string using a user-defined function
  • array_replace — Replaces elements in the first array with values from following arrays
  • array_replace_recursive — Recursively replaces elements from later arrays into the first array
  • array_reverse — Returns an array in reverse order
  • array_search — Searches the array for a given value and returns the first key if successful
  • array_shift — Shifts an element from the beginning of an array
  • array_slice — Extracts a slice of an array
  • array_splice — Removes a portion of the array and replaces it
  • array_sum — Calculate the sum of the values in an array
  • array_udiff — Compare arrays and return the difference using a user function (values only)
  • array_udiff_assoc — Compare arrays and return the difference using a default and a user function (keys and values)
  • array_udiff_uassoc — Compare arrays and return the difference using two user functions (values and keys)
  • array_uintersect — Compare arrays and return the matches via user function (values only)
  • array_uintersect_assoc — Compare arrays and return the matches via a default user function (keys and values)
  • array_uintersect_uassoc — Compare arrays and return the matches via two user functions (keys and values)
  • array_unique — Removes duplicate values from an array
  • array_unshift — Adds one or more elements to the beginning of an array
  • array_values — Returns all values of an array
  • array_walk — Applies a user function to every element in an array
  • array_walk_recursive — Recursively applies a user function to every element of an array
  • arsort — Sorts an associative array in descending order according to the value
  • asort — Sorts an associative array in ascending order according to the value
  • compact — Create an array containing variables and their values
  • count — Count all elements in an array, alternatively use sizeof
  • current — Returns the current element in an array, an alternative is pos
  • each — Return the current key and value pair from an array
  • end — Set the internal pointer to the last element of an array
  • extract — Import variables from an array into the current symbol table
  • in_array — Checks if a value exists in an array
  • key — Fetches a key from an array
  • krsort — Sorts an associative array by key in reverse order
  • ksort — Sorts an associative array by key
  • list — Assigns variables as if they were an array
  • natcasesort — Sorts an array using a “natural order” algorithm independent of case
  • natsort — Sorts an array using a “natural order” algorithm
  • next — Advance the internal pointer of an array
  • prev — Move the internal array pointer backwards
  • range — Creates an array from a range of elements
  • reset — Set the internal array pointer to its first element
  • rsort — Sort an array in reverse order
  • shuffle — Shuffle an array
  • sort — Sorts an indexed array in ascending order
  • uasort — Sorts an array with a user-defined comparison function
  • uksort — Arrange an array by keys using a user-defined comparison function
  • usort — Categorize an array by values using a comparison function defined by the user

PHP Strings

In programming speech strings are nothing more than text. As we have settled earlier, they are also a valid value for variables.

Defining Strings

In PHP there are several ways to define strings:

  • Single quotes — This is the simplest way. Just wrap your text in ' markers and PHP will handle it as a string.
  • Double quotes — As an alternative you can use ". When you do, it’s possible to use the escape characters below to display special characters.
  • heredoc — Begin a string with <<< and an identifier, then put the string in a new line. Close it in another line by repeating the identifier. heredoc behaves like double-quoted strings.
  • nowdoc — Is what heredoc is for double-quoted strings but for single quotes. It works the same way and eliminates the need for escape characters.

Note: Strings can contain variables, arrays, and objects.

Escape Characters

  • \n — Linefeed
  • \r — Carriage return
  • \t — Horizontal tab
  • \v — Vertical tab
  • \e — Escape
  • \f — Form feed
  • \\ — Backslash
  • \$ — Dollar sign
  • /' — Single quote
  • \" — Double quote
  • \[0-7]{1,3} — Character in octal notation
  • \x[0-9A-Fa-f]{1,2} — Character in hexadecimal notation
  • \u{[0-9A-Fa-f]+} — String as UTF-8 representation

String Functions

  • addcslashes() — Returns a string with backslashes in front of specified characters
  • addslashes() — Returns a string with backslashes in front of characters that need to be escaped
  • bin2hex() — Converts a string of ASCII characters to hexadecimal values
  • chop() — Removes space or other characters from the right end of a string
  • chr() — Returns a character from a specified ASCII value
  • chunk_split() — Splits a string into a series of smaller chunks
  • convert_cyr_string() — Converts a string from a Cyrillic character set to another
  • convert_uudecode() — Decodes a uuencoded string
  • convert_uuencode() — Encodes a string using uuencode
  • count_chars() — Returns information about the characters in a string
  • crc32() — Calculates a 32-bit CRC for a string
  • crypt() — Returns a hashed string
  • echo() — Outputs one or several strings
  • explode() — Breaks down a string into an array
  • fprintf() — Writes a formatted string to a specified output stream
  • get_html_translation_table() — Returns the translation table used by htmlspecialchars() and htmlentities()
  • hebrev() — Transforms Hebrew text to visual text
  • hebrevc() — Converts Hebrew text to visual text and implements HTML line breaks
  • hex2bin() — Translate hexadecimal values to ASCII characters
  • html_entity_decode() — Turns HTML entities to characters
  • htmlentities() — Converts characters to HTML entities
  • htmlspecialchars_decode() — Transforms special HTML entities to characters
  • htmlspecialchars() — Switches predefined characters to HTML entities
  • implode() — Retrieves a string from the elements of an array, same as join()
  • lcfirst() — Changes a string’s first character to lowercase
  • levenshtein() — Calculates the Levenshtein distance between two strings
  • localeconv() — Returns information about numeric and monetary formatting for the locale
  • ltrim() — Removes spaces or other characters from the left side of a string
  • md5() — Calculates the MD5 hash of a string and returns it
  • md5_file() — Calculates the MD5 hash of a file
  • metaphone() — Provides the metaphone key of a string
  • money_format() — Returns a string as a currency string
  • nl_langinfo() — Gives specific locale information
  • nl2br() — Inserts HTML line breaks for each new line in a string
  • number_format() — Formats a number including grouped thousands
  • ord() — Returns the ASCII value of a string’s first character
  • parse_str() — Parses a string into variables
  • print() — Outputs one or several strings
  • printf() — Outputs a formatted string
  • quoted_printable_decode() — Converts a quoted-printable string to 8-bit binary
  • quoted_printable_encode() — Goes from 8-bit string to a quoted-printable string
  • quotemeta() — Returns a string with a backslash before metacharacters
  • rtrim() — Strips whitespace or other characters from the right side of a string
  • setlocale() — Sets locale information
  • sha1() — Calculates a string’s SHA-1 hash
  • sha1_file() — Does the same for a file
  • similar_text() — Determines the similarity between two strings
  • soundex() — Calculates the soundex key of a string
  • sprintf() — Returns a formatted string
  • sscanf() — Parses input from a string according to a specified format
  • str_getcsv() — Parses a CSV string into an array
  • str_ireplace() — Replaces specified characters in a string with specified replacements (case-insensitive)
  • str_pad() — Pads a string to a specified length
  • str_repeat() — Repeats a string a preset number of times
  • str_replace() — Replaces specified characters in a string (case-sensitive)
  • str_rot13() — Performs ROT13 encoding on a string
  • str_shuffle() — Randomly shuffles the characters in a string
  • str_split() — Splits strings into arrays
  • str_word_count() — Returns the number of words in a string
  • strcasecmp() — Case-insensitive comparison of two strings
  • strcmp() — Binary safe string comparison (case sensitive)
  • strcoll() — Compares two strings based on locale
  • strcspn() — Returns the number of characters found in a string before the occurrence of specified characters
  • strip_tags() — Removes HTML and PHP tags from a string
  • stripcslashes() — Opposite of addcslashes()
  • stripslashes() — Opposite of addslashes()
  • stripos() — Finds the position of the first occurrence of a substring within a string (case insensitive)
  • stristr() — Case-insensitive version of strstr()
  • strlen() — Returns the length of a string
  • strnatcasecmp() — Case-insensitive comparison of two strings using a “natural order” algorithm
  • strnatcmp() — Same as the aforementioned but case sensitive
  • strncasecmp() — String comparison of a defined number of characters (case insensitive)
  • strncmp() — Same as above but case-sensitive
  • strpbrk() — Searches a string for any number of characters
  • strpos() — Returns the position of the first occurrence of a substring in a string (case sensitive)
  • strrchr() — Finds the last occurrence of a string within another string
  • strrev() — Reverses a string
  • strripos() — Finds the position of the last occurrence of a string’s substring (case insensitive)
  • strrpos() — Same as strripos() but case sensitive
  • strspn() — The number of characters in a string with only characters from a specified list
  • strstr() — Case-sensitive search for the first occurrence of a string inside another string
  • strtok() — Splits a string into smaller chunks
  • strtolower() — Converts all characters in a string to lowercase
  • strtoupper() — Same but for uppercase letters
  • strtr() — Translates certain characters in a string, alternative: strchr()
  • substr() — Returns a specified part of a string
  • substr_compare() — Compares two strings from a specified start position up to a certain length, optionally case sensitive
  • substr_count() — Counts the number of times a substring occurs within a string
  • substr_replace() — Replaces a substring with something else
  • trim() — Removes space or other characters from both sides of a string
  • ucfirst() — Transforms the first character of a string to uppercase
  • ucwords() — Converts the first character of every word in a string to uppercase
  • vfprintf() — Writes a formatted string to a specified output stream
  • vprintf() — Outputs a formatted string
  • vsprintf() — Writes a formatted string to a variable
  • wordwrap() — Shortens a string to a given number of characters

PHP Operators

Operators allow you to perform operations with values, arrays and variables. There are several different types.

Arithmetic Operators

Your standard mathematic operators.

  • + — Addition
  • - — Subtraction
  • * — Multiplication
  • / — Division
  • % — Modulo (the remainder of value divided by another)
  • ** — Exponentiation

Assignment Operators

Besides the standard assignment operator (=), you also have the following options:

  • += — a += b is the same as a = a + b
  • -= — a -= b is the same as a = a – b
  • *= — a *= b is the same as a = a * b
  • /= — a /= b is the same as a = a / b
  • %= — a %= b is the same as a = a % b

Comparison Operators

  • == — Equal
  • === — Identical
  • != — Not equal
  • <> — Not equal
  • !== — Not identical
  • < — Less than
  • > — Greater than
  • <= — Less than or equal to
  • >= — Greater than or equal to
  • <=> — Less than, equal to, or greater than

Logical Operators

  • and — And
  • or — Or
  • xor — Exclusive or
  • ! — Not
  • && — And
  • || — Or

Bitwise Operators

  • & — And
  • | — Or (inclusive or)
  • ^ — Xor (exclusive or)
  • ~ — Not
  • << — Shift left
  • >> — Shift right

Error Control Operator

You can use the @ sign to prevent expressions from generating error messages. This is often important for security reasons, for example to keep confidential information safe.

Execution Operator

PHP supports one execution operator, which is `` (backticks). These are not single-quotes! PHP will attempt to execute the contents of the backticks as a shell command.

Increment/Decrement Operators

  • ++$v — Increments a variable by one, then returns it
  • $v++ — Returns a variable, then increments it by one
  • --$v — Decrements the variable by one, returns it afterward
  • $v-- — Returns the variable then decrements it by one

String Operators

  • . — Used to concatenate (mean combine) arguments
  • .= — Used to append the argument on the right to the left-side argument

Loops in PHP

Loops are very common in programming. They allow you to run through the same block of code under different circumstances. PHP has several different ones.

For Loop

This type goes through a block of code a specified number of times:

  1. for (starting counter value; ending counter value; increment by which to increase) {
  2. // code to execute goes here
  3. }

Foreach Loop

A loop using foreach runs through each element in an array:

  1. foreach ($InsertYourArrayName as $value) {
  2. // code to execute goes here
  3. }

While Loop

Loops through a block of code as long as a specified condition is true.

  1. while (condition that must apply) {
  2. // code to execute goes here
  3. }

Do…While Loop

The final PHP loop runs a code snippet once, then repeats the loop as long as the given condition is true.

  1. do {
  2. // code to execute goes here;
  3. } while (condition that must apply);

Conditional Statements

If/else statements are similar to loops. They are statements for running code only under certain circumstances. You have several options:

If Statement

Executes code if one condition is true.

  1. if (condition) {
  2. // code to execute if condition is met
  3. }


Runs a piece of code if a condition is true and another if it is not.

  1. if (condition) {
  2. // code to execute if condition is met
  3. } else {
  4. // code to execute if condition is not met
  5. }


Executes different code snippets for more than two conditions.

  1. if (condition) {
  2. // code to execute if condition is met
  3. } elseif (condition) {
  4. // code to execute if this condition is met
  5. } else {
  6. // code to execute if none of the conditions are met
  7. }

Switch Statement

Selects one of several blocks of code to execute.

  1. switch (n) {
  2. case x:
  3. code to execute if n=x;
  4. break;
  5. case y:
  6. code to execute if n=y;
  7. break;
  8. case z:
  9. code to execute if n=z;
  10. break;
  11. // add more cases as needed
  12. default:
  13. code to execute if n is neither of the above;
  14. }

Working with Forms in PHP

PHP is often used for handling web forms. In particular, the aforementioned $_GET and $_POSThelp to collect data sent via a form. Both are able to catch values from input fields, however, their usage differs.

Using GET vs POST

GET collects data via URL parameters. That means all variable names and their values are contained in the page address.

The advantage of this is that you’re able to bookmark the information. Keep in mind that it also means that the information is visible to everyone. For that reason, GET is not suitable for sensitive information such as passwords. It also limits the amount of data that can be sent in ca 2000 characters.

POST, on the other hand, uses the HTTP POST method to pass on variables. This makes the data invisible to third parties, as it is sent in the HTTP body. You are not able to bookmark it.

With POST, there are no limits to the amount of information you can send. Aside from that, it also has advanced functionality and is therefore preferred by developers.

Form Security

The most important issue when it comes to web forms is security. If not set up properly, they are vulnerable to cross-scripting attacks. The hackers add scripts to unsecured web forms to use them for their own purpose.

PHP also offers tools to thwart those attacks, namely:

  • htmlspecialchars()
  • trim()
  • stripslashes()

You will notice that we have encountered all of these function in the previous section on strings. When you include them in the script that collects the form data, you can effectively strip harmful scripts of the characters they need for functioning, rendering them unusable.

Required Fields, Error Messages and Data Validation

Aside from that, PHP is able to define required fields (you can’t submit the form without filling them out), display error messages if some information is missing and to validate data. We have already talked about the necessary tools to do so.

For example, you can simply define variables for your form fields and use the empty() function to check if they have values. After that, create a simple if/else statement to either send the submitted data or output an error message.

The next step is to check the submitted data for validity. For that, PHP offers a number of filters such as FILTER_VALIDATE_EMAIL to make sure a submitted email address has the right format.

PHP Filters

Filters are used to validate and filter data that is coming from insecure sources. As mentioned, a common example is user input. PHP offers a number of filter functions and constants for that:

Filter Functions

  • filter_has_var() — Checks if a variable of the specified type exists
  • filter_id() — Returns the ID belonging to a named filter
  • filter_input() — Retrieves a specified external variable by name and optionally filters it
  • filter_input_array() — Pulls external variables and optionally filters them
  • filter_list() — Returns a list of all supported filters
  • filter_var_array() — Gets multiple variables and optionally filters them
  • filter_var() — Filters a variable with a specified filter

Filter Constants

  • FILTER_VALIDATE_BOOLEAN — Validates a boolean
  • FILTER_VALIDATE_EMAIL — Certifies an e-mail address
  • FILTER_VALIDATE_FLOAT — Confirms a float
  • FILTER_VALIDATE_INT — Verifies an integer
  • FILTER_VALIDATE_IP — Validates an IP address
  • FILTER_VALIDATE_REGEXP — Confirms a regular expression
  • FILTER_SANITIZE_EMAIL — Removes all illegal characters from an e-mail address
  • FILTER_SANITIZE_ENCODED — Removes/Encodes special characters
  • FILTER_SANITIZE_MAGIC_QUOTES — Applies addslashes()
  • FILTER_SANITIZE_NUMBER_FLOAT — Removes all characters, except digits, +- and .,eE
  • FILTER_SANITIZE_NUMBER_INT — Gets rid of all characters except digits and + –
  • FILTER_SANITIZE_SPECIAL_CHARS — Removes special characters
  • FILTER_SANITIZE_FULL_SPECIAL_CHARS — Converts special characters to HTML entities
  • FILTER_SANITIZE_STRING — Removes tags/special characters from a string, alternative: FILTER_SANITIZE_STRIPPED
  • FILTER_SANITIZE_URL — Rids all illegal characters from a URL
  • FILTER_UNSAFE_RAW —Do nothing, optionally strip/encode special characters
  • FILTER_CALLBACK — Call a user-defined function to filter data

HTTP Functions in PHP

PHP also has the functionality to manipulate data sent to the browser from the web server.

HTTP Functions

  • header() — Sends a raw HTTP header to the browser
  • headers_list() — A list of response headers ready to send (or already sent)
  • headers_sent() — Checks if and where the HTTP headers have been sent
  • setcookie() — Defines a cookie to be sent along with the rest of the HTTP headers
  • setrawcookie() — Defines a cookie (without URL encoding) to be sent along

Working with MySQL

Many platforms that are based on PHP work with a MySQL database in the background. For that reason, it’s important to be familiar with the functions that allow you to work with them.

MySQL Functions

  • mysqli_affected_rows() — The number of affected rows in the previous MySQL operation
  • mysqli_autocommit() — Turn auto-committing database modifications on or off
  • mysqli_change_user() — Changes the user of the specified database connection
  • mysqli_character_set_name() — The default character set for the database connection
  • mysqli_close() — Closes an open database connection
  • mysqli_commit() — Commits the current transaction
  • mysqli_connect_errno() — The error code from the last connection error
  • mysqli_connect_error() — The error description from the last connection error
  • mysqli_connect() — Opens a new connection to the MySQL server
  • mysqli_data_seek() — Moves the result pointer to an arbitrary row in the result set
  • mysqli_debug() — Performs debugging operations
  • mysqli_dump_debug_info() — Dumps debugging information into a log
  • mysqli_errno() — The last error code for the most recent function call
  • mysqli_error_list() — A list of errors for the most recent function call
  • mysqli_error() — The last error description for the most recent function call
  • mysqli_fetch_all() — Fetches all result rows as an array
  • mysqli_fetch_array() — Fetches a result row as an associative, a numeric array, or both
  • mysqli_fetch_assoc() — Fetches a result row as an associative array
  • mysqli_fetch_field_direct() — Metadata for a single field as an object
  • mysqli_fetch_field() — The next field in the result set as an object
  • mysqli_fetch_fields() — An array of objects that represent the fields in a result set
  • mysqli_fetch_lengths() — The lengths of the columns of the current row in the result set
  • mysqli_fetch_object() — The current row of a result set as an object
  • mysqli_fetch_row() — Fetches one row from a result set and returns it as an enumerated array
  • mysqli_field_count() — The number of columns for the most recent query
  • mysqli_field_seek() — Sets the field cursor to the given field offset
  • mysqli_field_tell() — The position of the field cursor
  • mysqli_free_result() — Frees the memory associated with a result
  • mysqli_get_charset() — A character set object
  • mysqli_get_client_info() — The MySQL client library version
  • mysqli_get_client_stats() — Returns client per-process statistics
  • mysqli_get_client_version() — The MySQL client library version as an integer
  • mysqli_get_connection_stats() — Statistics about the client connection
  • mysqli_get_host_info() — The MySQL server hostname and the connection type
  • mysqli_get_proto_info() — The MySQL protocol version
  • mysqli_get_server_info() — Returns the MySQL server version
  • mysqli_get_server_version() — The MySQL server version as an integer
  • mysqli_info() — Returns information about the most recently executed query
  • mysqli_init() — Initializes MySQLi and returns a resource for use with mysqli_real_connect()
  • mysqli_insert_id() — Returns the auto-generated ID used in the last query
  • mysqli_kill() — Asks the server to kill a MySQL thread
  • mysqli_more_results() — Checks if there are more results from a multi query
  • mysqli_multi_query() — Performs one or more queries on the database
  • mysqli_next_result() — Prepares the next result set from mysqli_multi_query()
  • mysqli_num_fields() — The number of fields in a result set
  • mysqli_num_rows() — The number of rows in a result set
  • mysqli_options() — Sets extra connect options and affect behavior for a connection
  • mysqli_ping() — Pings a server connection or tries to reconnect if it has gone down
  • mysqli_prepare() — Prepares an SQL statement for execution
  • mysqli_query() — Performs a query against the database
  • mysqli_real_connect() — Opens a new connection to the MySQL server
  • mysqli_real_escape_string() — Escapes special characters in a string for use in an SQL statement
  • mysqli_real_query() — Executes an SQL query
  • mysqli_reap_async_query() — Returns the result from async query
  • mysqli_refresh() — Refreshes tables or caches or resets the replication server information
  • mysqli_rollback() — Rolls back the current transaction for the database
  • mysqli_select_db() — Changes the default database for the connection
  • mysqli_set_charset() — Sets the default client character set
  • mysqli_set_local_infile_default() — Unsets a user-defined handler for the LOAD LOCAL INFILE command
  • mysqli_set_local_infile_handler() — Sets a callback function for the LOAD DATA LOCAL INFILE command
  • mysqli_sqlstate() — Returns the SQLSTATE error code for the last MySQL operation
  • mysqli_ssl_set() — Establishes secure connections using SSL
  • mysqli_stat() — The current system status
  • mysqli_stmt_init() — Initializes a statement and returns an object for use with mysqli_stmt_prepare()
  • mysqli_store_result() — Transfers a result set from the last query
  • mysqli_thread_id() — The thread ID for the current connection
  • mysqli_thread_safe() — Returns if the client library is compiled as thread-safe
  • mysqli_use_result() — Initiates the retrieval of a result set from the last query executed using the mysqli_real_query()
  • mysqli_warning_count() — The number of warnings from the last query in the connection

Date and Time

Of course, PHP functions for date and time should not be missing from any PHP cheat sheet.

Date/Time Functions

  • checkdate() — Checks the validity of a Gregorian date
  • date_add() — Adds a number of days, months, years, hours, minutes and seconds to a date object
  • date_create_from_format() — Returns a formatted DateTime object
  • date_create() — Creates a new DateTime object
  • date_date_set() — Sets a new date
  • date_default_timezone_get() — Returns the default timezone used by all functions
  • date_default_timezone_set() — Sets the default timezone
  • date_diff() — Calculates the difference between two dates
  • date_format() — Returns a date formatted according to a specific format
  • date_get_last_errors() — Returns warnings or errors found in a date string
  • date_interval_create_from_date_string() — Sets up a DateInterval from relative parts of a string
  • date_interval_format() — Formats an interval
  • date_isodate_set() — Sets a date according to ISO 8601 standards
  • date_modify() — Modifies the timestamp
  • date_offset_get() — Returns the offset of the timezone
  • date_parse_from_format() — Returns an array with detailed information about a specified date, according to a specified format
  • date_parse() — Returns an array with detailed information about a specified date
  • date_sub() — Subtracts days, months, years, hours, minutes and seconds from a date
  • date_sun_info() — Returns an array containing information about sunset/sunrise and twilight begin/end for a specified day and location
  • date_sunrise() — The sunrise time for a specified day and location
  • date_sunset() — The sunset time for a specified day and location
  • date_time_set() — Sets the time
  • date_timestamp_get() — Returns the Unix timestamp
  • date_timestamp_set() — Sets the date and time based on a Unix timestamp
  • date_timezone_get() — Returns the time zone of a given DateTime object
  • date_timezone_set() — Sets the time zone for a DateTime object
  • date() — Formats a local date and time
  • getdate() — Date/time information of a timestamp or the current local date/time
  • gettimeofday() — The current time
  • gmdate() — Formats a GMT/UTC date and time
  • gmmktime() — The Unix timestamp for a GMT date
  • gmstrftime() — Formats a GMT/UTC date and time according to locale settings
  • idate() — Formats a local time/date as an integer
  • localtime() — The local time
  • microtime() — The current Unix timestamp with microseconds
  • mktime() — The Unix timestamp for a date
  • strftime() — Formats a local time and/or date according to locale settings
  • strptime() — Parses a time/date generated with strftime()
  • strtotime() — Transforms an English textual DateTime into a Unix timestamp
  • time() — The current time as a Unix timestamp
  • timezone_abbreviations_list() — Returns an array containing dst, offset, and the timezone name
  • timezone_identifiers_list() — An indexed array with all timezone identifiers
  • timezone_location_get() — Location information for a specified timezone
  • timezone_name_from_abbr() — Returns the timezone name from an abbreviation
  • timezone_name_get() — The name of the timezone
  • timezone_offset_get() — The timezone offset from GMT
  • timezone_open() — Creates a new DateTimeZone object
  • timezone_transitions_get() — Returns all transitions for the timezone
  • timezone_version_get() — Returns the version of the timezonedb

Date and Time Formatting

  • d — 01 to 31
  • j — 1 to 31
  • D — Mon through Sun
  • l — Sunday through Saturday
  • N — 1 (for Mon) through 7 (for Sat)
  • w — 0 (for Sun) through 6 (for Sat)
  • m — Months, 01 through 12
  • n — Months, 1 through 12
  • F — January through December
  • M — Jan through Dec
  • Y — Four digits year (e.g. 2018)
  • y — Two digits year (e.g. 18)
  • L — Defines whether it’s a leap year (1 or 0)
  • a — am and pm
  • A — AM and PM
  • g — Hours 1 through 12
  • h — Hours 01 through 12
  • G — Hours 0 through 23
  • H — Hours 00 through 23
  • i — Minutes 00 to 59
  • s — Seconds 00 to 59

PHP Errors

Finally, for the times that things don’t go smoothly and you need to find out where the problem lies, PHP also offers functionality for errors.

Error Functions

  • debug_backtrace() — Used to generate a backtrace
  • debug_print_backtrace() — Prints a backtrace
  • error_get_last() — Gets the last error that occurred
  • error_log() — Sends an error message to the web server’s log, a file or a mail account
  • error_reporting() — Specifies which PHP errors are reported
  • restore_error_handler() — Reverts to the previous error handler function
  • restore_exception_handler() — Goes back to the previous exception handler
  • set_error_handler() — Sets a user-defined function to handle script errors
  • set_exception_handler() — Sets an exception handler function defined by the user
  • trigger_error() — Generates a user-level error message, you can also use user_error()

Error Constants

  • E_ERROR — Fatal run-time errors that cause the halting of the script and can’t be recovered from
  • E_WARNING — Non-fatal run-time errors, execution of the script continues
  • E_PARSE — Compile-time parse errors, should only be generated by the parser
  • E_NOTICE — Run-time notices that indicate a possible error
  • E_CORE_ERROR — Fatal errors at PHP initialization, like an E_ERROR in PHP core
  • E_CORE_WARNING — Non-fatal errors at PHP startup, similar to E_WARNING but in PHP core
  • E_COMPILE_ERROR — Fatal compile-time errors generated by the Zend Scripting Engine
  • E_COMPILE_WARNING — Non-fatal compile-time errors by the Zend Scripting Engine
  • E_USER_ERROR — Fatal user-generated error, set by the programmer using trigger_error()
  • E_USER_WARNING — Non-fatal user-generated warning
  • E_USER_NOTICE — User-generated notice by trigger_error()
  • E_STRICT — Suggestions by PHP to improve your code (needs to be enabled)
  • E_RECOVERABLE_ERROR — Catchable fatal error caught by a user-defined handle
  •  E_DEPRECATED — Enable this to receive warnings about a code which is not future-proof
  • E_USER_DEPRECATED — User-generated warning for deprecated code
  • E_ALL — All errors and warnings except E_STRICT