Pierre-Yves Nicolas 8fae0badb9 Prepare release: v1.19.0
2026-04-11 11:34:28 +02:00
2026-03-22 12:53:41 +01:00
2026-04-11 11:34:28 +02:00
2026-04-01 12:08:07 +02:00
2026-04-01 12:08:07 +02:00
2026-04-11 11:34:28 +02:00
2025-05-09 12:10:11 +02:00
2025-03-30 15:07:54 +02:00
2026-01-23 18:19:11 +01:00
2026-02-04 17:35:30 +01:00

FairScan icon

FairScan

An Android app to scan your documents —
simple and respectful.

License

Get it on: F-Droid · Google Play · GitHub


FairScan is an Android app to scan documents quickly, easily and privately.

It's designed to be simple: users get a clean, shareable PDF in seconds, with no manual adjustments.
And respectful: open source, minimal permissions, no tracking, no ads.


Screenshots

Scan Preview Save & Share

Features

  • Clear, distraction-free interface
  • Easy flow: scan, review if needed, save or share
  • Automatic document detection using a custom segmentation model
  • Automatic perspective correction
  • Automatic image enhancement
  • Fast PDF generation with no manual adjustments
  • Fully offline the app has no internet permission
  • Minimal permissions
  • Open source, GPLv3

Compatibility

FairScan works on any device that:

  • runs Android 8.0+
  • has a camera

Experimental: Scan to PDF via intent

FairScan can be invoked by other Android applications to perform a document scan and return a generated PDF.

This feature is experimental and intended for developers who want to rely on FairScan as a simple, privacy-respecting scanning tool. The intent contract and behavior may change between versions, and backward compatibility is not guaranteed at this stage.

Intent action: org.fairscan.app.action.SCAN_TO_PDF

This is an implicit intent that launches FairScan in a dedicated external mode.

When started via this intent:

  • FairScan opens directly in scan mode
  • the user scans one or more pages
  • FairScan generates a single PDF
  • the resulting PDF is returned to the calling application as a URI with a limited lifetime
  • the calling application should immediately copy the content of the URI as FairScan deletes it later

See an example app: fairscan-intent-sample


Technical details

FairScan uses:


The segmentation model

FairScan uses a custom-trained image segmentation model to detect documents:
https://github.com/pynicolas/fairscan-segmentation-model

It's based on a fully public dataset that is available here:
https://github.com/pynicolas/fairscan-dataset

The build system automatically downloads the model using
download-tflite.gradle.kts.

Related blog posts:


Build

To build an APK:

./gradlew clean check assembleRelease

To build an Android App Bundle:

./gradlew clean check :app:bundleRelease

License

This project is licensed under the GNU GPLv3. See LICENSE for details.

Description
No description provided
Readme GPL-3.0 5 MiB
Languages
Kotlin 93.9%
Python 5.7%
xBase 0.4%