Home

Awesome

Binary Eye

Yet another barcode scanner for Android. As if there weren't enough.

This one is free, without any ads, and open source.

Works in portrait and landscape orientation, can read inverted codes, comes in Material Design and can also generate barcodes.

Binary Eye uses the ZXing-C++ ("Zebra Crossing") barcode scanning library.

If you find this app useful and wish to support its continued development, you can buy me a coffee or send some Bitcoin decimals to bc1q2guk2rpll587aymrfadkdtpq32448x5khk5j8z.

<a href="https://www.buymeacoffee.com/markusfisch" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;"/></a> <a href="https://liberapay.com/markusfisch/" target="_blank"><img src="https://liberapay.com/assets/widgets/donate.svg" alt="Liberapay" style="height: 60px !important"/></a> <a href="https://ko-fi.com/markusfisch" target="_blank"><img src="https://storage.ko-fi.com/cdn/brandasset/kofi_s_tag_dark.png" alt="Ko-fi" style="height: 60px !important"/></a>

Screenshots

<img src="fastlane/metadata/android/en-US/images/phoneScreenshots/screencap-scanning.png" alt="Screenshot Gallery" width="160"/> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/screencap-scanning-cropped.png" alt="Screenshot Gallery" width="160"/> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/screencap-decoded.png" alt="Screenshot Theme" width="160"/> <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/screencap-compose-barcode.png" alt="Screenshot Editor" width="160"/>

Download

<a href="https://f-droid.org/en/packages/de.markusfisch.android.binaryeye/"><img alt="Get it on F-Droid" src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" height="80"/></a> <a href="https://play.google.com/store/apps/details?id=de.markusfisch.android.binaryeye"><img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" height="80"/></a>

Supported Barcode Formats

Read

ZXing can read the following barcode formats:

Generate

ZXing can generate the following barcode formats:

Deep Links and Intents

Deep Links

You can invoke Binary Eye with a web URI intent from anything that can open URIs. There are two options:

  1. binaryeye://scan (note: Github Markdown does not render this as clickable link)
  2. http(s)://markusfisch.de/BinaryEye

If you want to get the scanned contents, you can add a ret query argument with a (URL encoded) URI template. For example:

http://markusfisch.de/BinaryEye?ret=http%3A%2F%2Fexample.com%2F%3Fresult%3D{RESULT}

Supported symbols are:

SCAN Intent

You can also use Binary Eye from other apps by using the com.google.zxing.client.android.SCAN Intent with startActivityForResult() like this:

startActivityForResult(
	Intent("com.google.zxing.client.android.SCAN"),
	SOME_NUMBER
)

And process the result in onActivityResult() of your Activity:

override fun onActivityResult(
	requestCode: Int,
	resultCode: Int,
	data: Intent?
) {
	when (requestCode) {
		SOME_NUMBER -> if (resultCode == RESULT_OK) {
			val result = data.getStringExtra("SCAN_RESULT")
			…
		}
	}
}

If you're using AndroidX, this would be the new, recommended way:

class YourActivity : AppCompatActivity() {
	private val resultLauncher = registerForActivityResult(
		ActivityResultContracts.StartActivityForResult()
	) { result ->
		if (result.resultCode == RESULT_OK) {
			val content = result.data?.getStringExtra("SCAN_RESULT")
			…
		}
	}

	fun openScanner() {
		resultLauncher.launch(Intent("com.google.zxing.client.android.SCAN"))
	}
}