Skip to content


Subversion checkout URL

You can clone with
Download ZIP
The csharp version of the zxing library built to run on monotouch.
Pull request Compare This branch is 8 commits ahead of martinbowling:master.
Failed to load latest commit information.
client/result Initial commit
common Initial commit
datamatrix Initial commit
multi Initial commit
oned Initial commit
pdf417 Initial commit
qrcode Initial commit
sample Add solution file and sample projects
AndroidBitmap.cs Add Mono for Android project
AssemblyInfo.cs Initial commit
BarcodeFormat.cs Initial commit
Binarizer.cs Initial commit
BinaryBitmap.cs Initial commit
Bitmap.cs implementing IDisposable on bitmap as it previously there was no easy…
Color.cs Initial commit
ColorConverter.cs Initial commit
ColorTranslator.cs Initial commit
Consts.cs Initial commit
DecodeHintType.cs Initial commit
EncodeHintType.cs Initial commit
KnownColor.cs Initial commit
KnownColors.cs Initial commit
Locale.cs Initial commit
LuminanceSource.cs Initial commit
MonoTODOAttribute.cs Initial commit
MultiFormatReader.cs Initial commit
MultiFormatWriter.cs Initial commit
RGBLuminanceSource.cs Change pixel format used by RGBLuminanceSource to 32bpp BGRA
Reader.cs Initial commit
ReaderException.cs Initial commit
Result.cs Initial commit
ResultMetadataType.cs Initial commit
ResultPoint.cs Initial commit
ResultPointCallback.cs Initial commit
SupportClass.cs Initial commit
SystemColors.cs Initial commit
Writer.cs Initial commit
WriterException.cs Initial commit
YUVLuminanceSource.cs Add Mono for Android project Initial commit
zxing.MonoDroid.csproj Add Mono for Android project
zxing.MonoTouch.csproj Update csproj for latest version of MonoTouch
zxing.sln Add solution file and sample projects


ZXing (pronounced "zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java. Our focus is on using the built-in camera on mobile phones to photograph and decode barcodes on the device, without communicating with a server. This project is built from the official csharp port from SVN and may be missing functionality.


A simple example of using zxing.MonoDroid might look like this:

using System; using System.Collections.Generic; using System.Linq; using System.Net; using MonoTouch.Foundation; using MonoTouch.UIKit; using; using;

namespace Camera.iPhone {

public class Application
  static void Main (string[] args)
    UIApplication.Main (args);

// The name AppDelegate is referenced in the MainWindow.xib file.
public partial class AppDelegate : UIApplicationDelegate
  // This method is invoked when the application has loaded its UI and its ready to run
  public override bool FinishedLaunching (UIApplication app, NSDictionary options)
    // If you have defined a view, add it here:
    // window.AddSubview (navigationController.View);

    window.MakeKeyAndVisible ();

      var wc = new WebClient();
      var uri = new Uri("");

      UIImage image = UIImage.FromFile("barcode.png");
      var srcbitmap = new System.Drawing.Bitmap(image);

      Reader barcodeReader = new MultiFormatReader();
              LuminanceSource source = new RGBLuminanceSource(srcbitmap, (int)image.Size.Width, (int)image.Size.Height);
              BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
              var result = barcodeReader.decode(bitmap);
              label.Text = result.Text;
    } catch (Exception ex) {
      label.Text = ex.ToString();

    return true;

  // This method is required in iPhoneOS 3.0
  public override void OnActivated (UIApplication application)



ZXing is released under the Apache 2.0 license. ZXing can be found here: A copy of the Apache 2.0 license can be found here:


The System.Drawing classes included are from the mono source code which is property of Novell. Copyright notice is intact in source code files.

Something went wrong with that request. Please try again.