Unicorn File Picker

A simple, documented, and contribution-friendly File Picker for Android.

Unicorn File Picker is a library designed to package a powerful file selector for android. You can:

  • Start the file picker activity from any activity or fragment
  • Select single or multiple files
  • Use as a Directory Picker
  • Filter out files you want to display
  • Add custom theme or use default theme options (Light & Dracula)
  • And much more which you have to try out for yourself
Unicorn Dracula Unicorn Default Custom Theme
screenshot_dracula screenshot_light screenshot_custom



repositories {
    maven { url ‘https://jitpack.io’ }

dependencies {
    implementation 'com.github.abhishekti7:UnicornFilePicker:$latest_version'

How do I use Unicorn File Picker?


The library requires two permissions:

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

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

Also, don't forget to add requestlegacyexternalstorage=true for Android 10.

Simple usage snippet

Start UnicornFilePicker from current Activity or Fragment:

                    .setFilters(new String[]{"pdf", "png", "jpg", "jpeg"})


There are two built-in themes you can use to start UnicornFilePicker:

  • R.style.UnicornFilePicker_Default (light mode)
  • R.style.UnicornFilePicker_Dracula (dark mode)

You can also define your own custom theme.

Receive Result

In onActivityResult() callback of the starting Activity or Fragment:

List<String> mSelected_files;

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {
        ArrayList<String> files = data.getStringArrayListExtra("filePaths");
        for(String file : files){
            Log.e(TAG, file);