Google has announced a multi-format 1d/2d barcode reader.
ZXing (pronounced “zebra crossing”) is an open-source, multi-format 1d/2d barcode reader library implemented in Java. The objective is to support decoding of QR Codes, Data Matrix and the UPC family of 1d barcodes. It will provide clients for the Java 2 Platform, Micro Edition (J2ME), Java2 Standard Edition (J2SE) and Google’s open handset alliance project (Android).
Update: Google’s ZXing Decoder Online