If you've ever wondered why the pictures and videos you share with Snapchat on your Android device seem to look grainy with low resolution, you're not alone. We all know it, and we've come to accept it as a plain fact: Snapchat image quality sucks on Android.
The reason behind this is that Snapchat doesn't actually take photos on an Android device—instead, it basically grabs a screenshot of your camera's live video feed. This is not a limitation of Android, and it's not a matter of the iPhone having better hardware. It's because Snapchat's development team takes the easy way out instead of coding a proper Android app.
Ever since Android 5.0 Lollipop, apps can have full access to your device's camera hardware using a feature called Camera2 API. This means that they can have manual exposure controls, capture RAW images to do post-processing themselves, and tons of other goodies that can make pictures taken by third-party apps look just as great as they do with Android's stock camera app.
But Snapchat doesn't use this awesome feature. Instead, their Android app just asks to look at what your camera sees, then records the results. Compare that to an app like Instagram that actually taps into your camera's hardware to take full-resolution photos using Camera2 API, and you'll see an obvious difference:
Same picture, same angle, same phone, yet wildly different results. Today's Android phones have top-notch camera hardware that's obviously capable of taking great photos, so why can't Snapchat? The problem here is better explained if we take a look at the Snapchat app for iOS to do some more comparing.
When you're developing an app for iOS, you really only have to support one device: the iPhone. With only 15 total models ever made, it's easy to make an app that works properly with every Apple phone out there.
Android, on the other hand, is a different story. There are hundreds of unique devices with various hardware components that need to be accounted for, and very few of these are even running the same version of Android. In fact, only 53% of devices have Android Lollipop or higher, so roughly half of the phones out there don't support Camera2 API.
So Snapchat's development team apparently decided it didn't want to waste time supporting different Android versions, and instead, took the viewfinder-screenshot approach to make things easier on themselves. This way, one image capture method would work on all Android devices, even though it results in inferior quality.
To see the difference that a properly-coded app can make, take a look at the following pictures. The one on the left was taken with the brand new Pixel XL, while the one on the right was taken with a two-year-old iPhone 6.
On first glance, the Android picture quality might look a bit better, so let's just focus in on the zoomed area. Keep in mind that the Pixel XL has the highest-rated smartphone camera ever, so sharpness and contrast are a bit more pleasing to the eye. But even with inferior camera hardware, the Snapchat picture taken with the iPhone 6 is far less pixelated with much higher resolution:
So yes, your Android Snapchat pics are grainy and pixelated. And yes, the iPhone takes Snapchat photos in much higher resolution. But this isn't a fault of Android, and it's not even something wrong with your phone—this one's on Snapchat's development team.
Since the time that this article was originally published, Snapchat has been updated several times, but no drastic has been made on image quality. It's still subpar when compared to the iPhone, even on the Pixel.