Skip to content
Official ZXing ("Zebra Crossing") project home
Latest commit 7cf4956 May 25, 2016 @nayuki nayuki committed with srowen Simplified pieces of code (#601)
* Simplify code in bit-twiddling methods, using APIs introduced in Java 5.

* Align code by adjusting whitespace and adding `+0`.

* Convert qrcode DataMask to enum to reduce source code size, which shouldn't change behavior.

* Simplify lists of character constants using string initializer instead of array.

* Remove redundant `+ 0` operations from a recent change.

* Delete the function DataMask.forReference() and inline the logic into all its callers.
Failed to load latest commit information.
.github Add issue template and move supported files to .github Mar 2, 2016
android-core [maven-release-plugin] prepare for next development iteration Aug 19, 2015
android-integration [maven-release-plugin] prepare for next development iteration Aug 19, 2015
android Set up for app 4.7.6 May 12, 2016
androidtest Update plugins, dependencies, and clean up small code inspection issues Jan 21, 2016
core Simplified pieces of code (#601) May 25, 2016
glass Add what's new for 4.7.4 and update proguard Oct 27, 2015
javase Use java.util.Base64 in Java 8+ only, to remove javax.xml.bind depend… May 22, 2016
src Test signed commit and update minor deps, plugin Apr 5, 2016 Update plugins, dependencies, and clean up small code inspection issues Jan 21, 2016
zxingorg Better info logging in web app, and better clearing of buffers May 18, 2016
.gitattributes Added .gitattributes to define how git handles the line endings Jul 17, 2014
.gitignore Remove Thumbs.db from gitignore Mar 6, 2014
.travis.yml New profile to limit memory usage in Travis Feb 8, 2016
AUTHORS Added a Code 93 encoder Oct 18, 2015
CHANGES Update to target Android 23; brief 3.2.1 release note Aug 19, 2015
LICENSE Update jai-imageio license; remove unneeded gwt-servlet dep; update c… Sep 25, 2015
NOTICE Use JCommander for CommandLineRunner args May 3, 2015 Added a port to PHP Mar 24, 2016
pom.xml Don't build source, javadoc in Travis May 22, 2016

Get Started Developing

To get started, please visit:

ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages.

Supported Formats

1D product 1D industrial 2D
UPC-A Code 39 QR Code
UPC-E Code 93 Data Matrix
EAN-8 Code 128 Aztec (beta)
EAN-13 Codabar PDF 417 (beta)



Module Description
core The core image decoding library, and test code
javase JavaSE-specific client code
android Android client Barcode Scanner Barcode Scanner
androidtest Android test app, ZXing Test
android-integration Supports integration with Barcode Scanner via Intent
android-core Android-related code shared among android, androidtest, glass
glass Simple Google Glass application
zxingorg The source behind The source behind web-based barcode generator at

Available in previous releases

Module Description
cpp C++ port
iphone iPhone client
objc Objective C port
actionscript Partial ActionScript port
jruby JRuby wrapper

ZXing-based third-party open source projects

Module Description
QZXing port to Qt framework
zxing-cpp port to C++ (forked from the deprecated official C++ port)
zxing_cpp.rb bindings for Ruby (not just JRuby), powered by zxing-cpp
python-zxing bindings for Python
ZXing .NET port to .NET and C#, and related Windows platform
php-qrcode-detector-decoder port to PHP

Other related third-party open source projects

Module Description
Barcode4J Generator library in Java
ZBar Reader library in C99



Post to the discussion forum or tag a question with zxing on StackOverflow.


Build Status Coverity Status

QR code is trademarked by Denso Wave, inc. Thanks to Haase & Martin OHG for contributing the logo.

Optimized with JProfiler

Something went wrong with that request. Please try again.