whatisgithub

What is pictureselector?

lucksiege/pictureselector — explained in plain English

Analysis updated 2026-06-24

13,593JavaAudience · developerComplexity · 2/5Setup · easy

In one sentence

An Android library that adds a fully-featured image, video, and audio picker to your app with cropping, compression, camera capture, and album browsing, compatible with Android 5 through 13 and works with Glide, Picasso, or Coil.

Mindmap

mindmap
  root((PictureSelector))
    What It Does
      Android media picker
      Images videos audio
      Camera capture
    Key Features
      Crop and compress
      Fragment embedding
      Headless data mode
    Image Loaders
      Glide
      Picasso
      Coil
    Compatibility
      Android 5 to 13
      Java and Kotlin
      Gradle and Maven
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add a photo and video picker to an Android app with one Gradle dependency and a few lines of Java or Kotlin code.

USE CASE 2

Let users crop and compress images before uploading, reducing server storage costs and upload time.

USE CASE 3

Embed the media picker as a fragment inside an existing screen instead of launching it as a separate activity.

USE CASE 4

Query a device's album and media lists programmatically without showing any UI, using the headless data-source mode.

What is it built with?

JavaKotlinAndroidGlidePicassoCoil

How does it compare?

lucksiege/pictureselectorlgvalle/material-animationstink-crypto/tink
Stars13,59313,57613,539
LanguageJavaJavaJava
Setup difficultyeasyeasymoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min
No license information is provided in the explanation.

So what is it?

PictureSelector is an Android library that gives your app a full-featured media picker. Users can browse their photo albums, select images, videos, or audio files, take new photos with the camera, crop and resize selections, and compress files before they are returned to the app. The library targets Android 5.0 and later, including Android 13's updated storage permissions. Adding the library to an Android project takes a single line in Gradle or Maven. Once it is installed, you open the picker with a few lines of Java or Kotlin code, choose what type of media to allow (images, video, audio, or all three), attach an image-loading engine, and provide a callback to receive the selected files. The library ships with adapters for three popular image-loading libraries: Glide, Picasso, and Coil. You pick whichever one your project already uses. The picker can run in several modes. The full gallery mode lets users browse and select from their existing media. A camera-only mode opens the device camera directly. You can also embed the picker as a fragment inside any existing view, which is useful when you want to build the selection UI into your own screen layout rather than launching a separate activity. There is also a headless data-source mode that lets you query album and media lists programmatically without showing any UI at all. Previewing selected files is supported too. The library can display images and videos in a built-in preview screen, with optional delete and download actions. Online video preview requires setting the cleartext traffic flag in the Android manifest. The library handles the Android runtime permission requests for camera, storage, and audio access, adapting to the different permission models across Android versions. Theming and visual customization are documented in the project wiki. ProGuard rules are provided to keep the library working in minified builds.

Copy-paste prompts

Prompt 1
Show me how to integrate PictureSelector into my Android app using Gradle and open a photo picker that returns compressed JPEGs via a callback.
Prompt 2
How do I configure PictureSelector to allow both image and video selection with a maximum of 5 items, using Glide as the image loader?
Prompt 3
Write the ProGuard rules needed to keep PictureSelector working in a minified Android release build.
Prompt 4
How do I embed PictureSelector as a Fragment inside my own Activity layout instead of launching it as a separate full-screen activity?

Frequently asked questions

What is pictureselector?

An Android library that adds a fully-featured image, video, and audio picker to your app with cropping, compression, camera capture, and album browsing, compatible with Android 5 through 13 and works with Glide, Picasso, or Coil.

What language is pictureselector written in?

Mainly Java. The stack also includes Java, Kotlin, Android.

What license does pictureselector use?

No license information is provided in the explanation.

How hard is pictureselector to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is pictureselector for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.