Android Image Picker Library | Top 15 Curated List

Android Image Picker Library can help you in your Android Project to help user select images from their media folder or from the camera of their android device.

Need some career advice or prepping for an Android developer interview? Hit me up on Topmate.io, and let's chat!

Here is a curated list of 15 such libraries built by developers to help you make choice for your Android Project with link to their respective github repository and gradle implementation code.

Android Image Picker Library mentioned below are not in any ranking order, however they are stable and tested

BottomSheet Image Picker Library

A modern image picker implemented as BottomSheet.

LanguageJava, Kotlin
Min SDK17 (4.2 Jellybean)
Size923 kb

Features

  • Select single/multiple images right in the bottom sheet
  • Use camera to take a picture
  • Choose image from gallery app
  • Handles all permission requests

This library is based on BSImagePicker. The developer, siralam reimplemented everything in Kotlin and added some features. Also, siralam used the new androidX artifacts.

Add to Project

First make sure jitpack is included as a repository in your project‘s build.gradle:

allprojects {
    repositories {
        //...
        maven { url 'https://jitpack.io' }
    }
}

And then add the below to your app’s build.gradle:

    implementation 'com.kroegerama:bottomsheet-imagepicker:<version>'

Link to Bottom sheet image picker library

BSImagePicker

An image picker that extends BottomSheetDialogFragment. Camera and gallery all in one dialog. Single or Multi Selection.

LanguageJava
Min SDK16 (4.2 Jellybean)
Size1500 kb

When your app needs user to pick one or more images from their device, it is still quite painful in Android.
Without any customization, you first need to ask user whether he/she wants to take a picture using camera, or select one from a Gallery app.
Then you have to write quite some code to launch a Camera intent.
Not to mention that you cannot even let user select multiple images.

So an image picker that solves all these pains is almost present in every app. And this library does the below:

  1. Without the need to ask user whether to take photo or select from gallery, these options are all in one dialog;
  2. Works for both single and multiple selections;
  3. Handle asking permissions for you;
  4. You just need to show this dialog, and register callbacks that give you a Uri or List<Uri>.

The UI design of this library is referenced from TedBottomPicker.

Add to Project

First make sure jcenter() is included as a repository in your project‘s build.gradle:

allprojects {
    repositories {
        jcenter()
    }
}

And then add the below to your app’s build.gradle:

    implementation 'com.asksira.android:bsimagepicker:1.1.0'

You also need to make sure you have included 'com.android.support:support-v4:{supportLibraryVersion} in your dependencies.

Link to BSImage Picker

Multimager

Multi Image Picker and Multi Image Capture Demo app This is a sample demonstration for multiple images capture as well as multiple image picker. UX/UI can be styled with any color with relativity to Material Design. The demo shows tinting multiple views based on theme color!!

LanguageJava
Min SDK16 (4.1 JellyBean)
Size7400 kb

Add the jitpack repo to your repositories section in root level build.gradle

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Add the dependencies to the app level build.gradle

dependencies {
    implementation 'com.github.vansikrishna:Multimager:1.0.8'
}

Link to Multimager

AsyncFilePicker Android Image Picker Library

File picker allows you to take photo and files from camera\gallery\filesystem and also you can add up to 3 own custom actions.

Picker will ask for camera and gallery permission on android version 6.0 or above.

To add this library to your project, you must add the JitPack repo to your root build.gradle file…

allprojects {
 repositories {
    ...
    jcenter()
 }
}

Then include this in your dependencies block

implementation 'org.shagi:filepicker:0.4'
LanguageKotlin
Min SDK17 (4.2 Jellybean)
Size230 kb

Link to AsyncFilePicker

Universal Media Picker

Easy customizable picker for all your needs in Android application

Add following line of code to your module(app) level gradle file

    implementation 'com.robertlevonyan.components:Picker:1.1.5'
LanguageKotlin
Min SDK14 (4.0 Icecream Sandwich)
Size469 kb

Link to Universal MediaPicker

MediaPickerLib

Kotlin based media picker library, to pick multiple images and/or videos from the built-in gallery. Easy to implement and use.

Add this on your module:app build.gradle

allprojects {
  repositories {
  	...
  	maven { url 'https://jitpack.io' }
  }
}

Gradle

implementation 'com.github.WrathChaos:MediaPickerLib:0.1.4'
LanguageKotlin
Min SDK19 (4.4 KitKat)
Size2800 kb

Link to MediaPickerLib

ImagePickerUtil Android Image Picker Library

Android Imagepicker which allows to select images or capture from the camera with required permission and easy to implement, crop and compress the final image.

Add repository url and dependency in application module gradle file:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

dependencies {
        implementation 'com.github.himangipatel:ImagePickerUtil:v2.1'
}
LanguageJava
Min SDK16 (4.2 JellyBean)
Size1700 kb

Link to ImagePickerUtil

MultiPhotoPicker

Android Image Picker Library
LanguageJava
Min SDK15 (4.0.3 – 4.0.4 IceCream Sandwich)
Size1700 kb

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file

allprojects {
 repositories {
  ...
  maven { url 'https://jitpack.io' }
 }
}

Step 2. Add the dependency

dependencies {
        compile 'com.github.nileshpambhar:MultiPhotoPicker:v1.2'
}

Link to MultiphotoPicker

NaraeImagePicker

MultiImagePicker for Android Application, written in Kotlin

LanguageKotlin
nMin SDK16 (4.1 JellyBea)
Size1700 kb

Usages

rootProject/build.gradle

allprojects {
    repositories {
	    maven { url 'https://jitpack.io' }
    }
}

app/build.gradle

dependencies {
     implementation 'com.github.WindSekirun:NaraeImagePicker:1.8.0'
}

Link to NaraeImagePicker

Matisse Android Image Picker Library

Matisse is a well-designed local image and video selector for Android. With Matisse you can:

  • Use it in Activity or Fragment
  • Select images including JPEG, PNG, GIF and videos including MPEG, MP4
  • Apply different themes, including two built-in themes and custom themes
  • Different image loaders
  • Define custom filter rules
  • More to find out yourself
LanguageJava
Min SDK14 (4.0 Ice cream Sandwich)
Size– kb

Gradle:

repositories {     jcenter() } 

dependencies { compile 'com.zhihu.android:matisse:$latest_version' }

Permission

The library requires two permissions:

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

So if you are targeting Android 6.0+, you need to handle runtime permission request before next step.

Link to Matisse

Android Image Picker Library -OLX

Android Image Picker Library

Combined both TedBottomPicker and Camera View, to get the View Similar to ImagePickers of Olx.

We can Pick Images From Gallery and Camera in two modes, Single and Multi.

Awesome Image Picker

Awesome Image Picker library will pick images/gifs with a beautiful interface. Supports image or gif, Single and Multiple Image selection.

LanguageJava
Min SDK15 (4.1 JellyBean)
Size1700 kb

Getting Started

In build.gradle (Project)

allprojects {
  repositories {
   ...
  maven { url "https://jitpack.io" }
 }
}

And then in the other gradle file(may be your app gradle or your own module library gradle, but never add in both of them to avoid conflict.)

dependencies {     
compile 'com.github.myinnos:AwesomeImagePicker:1.0.2'
}

Link to Awesome Android Image Picker Library

Louvre Android Image Picker Library

A small customizable image picker. Useful to handle gallery image pick action built-in your app.

Getting Started

Add this in your root build.gradle file (not your app module build.gradle file):

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

Then, add the library in your app module build.gradle

dependencies{
compile 'com.github.andremion:louvre:[LATEST VERSION]'
}

Link to Louvre Android Image Picker Library

MediaPickerInstagram

Link to MediaPickerInstagram Android Image Picker Library.

Pix (WhatsApp Style Image Picker)

Pix is a Whatsapp image picker replica. with this Android Image Picker Library you can integrate a image picker just like whatsapp.

Whatsapp like Android Image Picker Library

Getting Started

Gradle:

include in app level build.gradle

       repositories {
          maven { url 'https://jitpack.io' }
       }
        implementation  'com.fxn769:pix:1.3.0'

Pix is using the new Material Android Image Picker library with the legacy Support Library. You have to migrate from android.support to androidx in order to use com.google.android.material.

With Android Studio 3.2 and higher, you can quickly migrate an existing project to use AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.

For more details kindly refer Migrating to AndroidX

Link to Pix Android Image Picker Library

Interested in Animating your Android Views? Look here:
Android Animation Library | Top 20 Curated List