diff --git a/browser.js b/browser.js
new file mode 100644
index 0000000..7a11bae
--- /dev/null
+++ b/browser.js
@@ -0,0 +1,25 @@
+var qrDecode = require('./')
+
+var decode =
+ exports.decode = function (bom) {
+ var canvas = document.createElement("canvas")
+ var ctx = canvas.getContext('2d')
+ canvas.width = bom.width;
+ canvas.height = bom.height;
+ ctx.drawImage(bom, 0, 0, canvas.width, canvas.height);
+ var data = ctx.getImageData(0, 0, canvas.width, canvas.height);
+ return qrDecode(data)
+ }
+
+exports.decodeByUrl = function (src, cb) {
+ var img = new Image();
+ img.src = src;
+ img.onload = function () {
+ try {
+ cb(null,decode(img));
+ } catch (e) {
+ cb(e);
+ }
+ }
+ img.onerror = cb;
+}
\ No newline at end of file
diff --git a/demo/index.html b/demo/index.html
index 7721c29..5010161 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -10,5 +10,5 @@