package icon

MJ PDF

A simple PDF viewer
MJ PDF is a fast, simply, yet powerful and totally free PDF reader. It pairs a powerful reader with a full library manager, and it respects your privacy.

Library

* Home screen with Recent, Library and Folders tabs.
* Continue reading right where you left off, with a detailed reading history.
* Organize with reading statuses (to-read, reading, completed and more).
* Browse your device like a file manager, including SD cards.
* Search every PDF on your device.

Reader

* Fast and smooth, with dark mode for the app and the PDF itself.
* True full screen with configurable shortcut buttons.
* Highlight text, add notes, and save them into the PDF.
* Draw handwritten signatures and save them into the PDF as sharp vector strokes.
* Fill PDF forms.
* Select text with copy, share, web search, translate, and dictionary actions.
* Share quotes as images, with the book's name and a choice of themes.
* Text Mode: read any PDF like an e-book, with reflow, fonts and themes.
* Dual page mode that pairs pages like an open book.
* Powerful search with live results and next/previous navigation inside the reader.
* Table of contents, user bookmarks, embedded links, and browser-like navigation history.
* Right-to-left reading, hide margins, auto-scroll, brightness control, zoom lock.
* Open password-protected and online PDFs, share and print.
* Incognito mode that saves nothing about what you read.
* Backup and restore your settings and reading progress.

Permissions and privacy

This app does not collect any data.
The following permissions are required to provide specific features in the app:

* Internet: for opening PDFs through links.
* Storage / all-files access: to scan, open and manage the PDFs on your device.

Links

* Official page: https://mudlej.com/projects/mj-pdf
* Source code: https://gitlab.com/mudlej_android/mj_pdf_reader
* Issues and requests: https://github.com/mudlej/mj_pdf/

Author

* MJ PDF is made by Mudlej (https://mudlej.com).

License

MJ PDF uses the GPLv3 license.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 3.1.0 (5804) suggested Added on Aug 19, 2026

    x86_64

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.gitlab.mudlej.MjPdfReader.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.7 MiB PGP Signature | Build Log

  • Version 3.1.0 (5803) - Added on Aug 19, 2026

    x86

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.gitlab.mudlej.MjPdfReader.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.8 MiB PGP Signature | Build Log

  • Version 3.1.0 (5802) - Added on Aug 19, 2026

    arm64-v8a

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.gitlab.mudlej.MjPdfReader.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.5 MiB PGP Signature | Build Log

  • Version 3.1.0 (5801) - Added on Aug 19, 2026

    armeabi-v7a

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • android.permission.MANAGE_EXTERNAL_STORAGE
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.gitlab.mudlej.MjPdfReader.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 8.1 MiB PGP Signature | Build Log