diff --git a/js/main.js b/js/main.js
index 8047a54..57d70ae 100644
--- a/js/main.js
+++ b/js/main.js
@@ -1232,20 +1232,20 @@ function generateDataBlocks(){
 				if(k == Math.floor((data_length + 2) / 3) - 1){
 					if(data_length % 3 == 0){
 						temp_value = data_block.substring(0,10);
-    					temp_decoded = parseInt(data_block.substring(0,10), 2);
+    					temp_decoded = parseInt(data_block.substring(0,10), 2).toString().padStart(3, "0");
             			data_block = data_block.substring(10);
     				} else if(data_length % 3 == 1){
     					temp_value = data_block.substring(0,4);
-	    				temp_decoded = parseInt(data_block.substring(0,4), 2);
+	    				temp_decoded = parseInt(data_block.substring(0,4), 2).toString();
     	    			data_block = data_block.substring(4);
     				} else {
     					temp_value = data_block.substring(0,7);
-    					temp_decoded = parseInt(data_block.substring(0,7), 2);
+    					temp_decoded = parseInt(data_block.substring(0,7), 2).toString().padStart(2, "0");
         				data_block = data_block.substring(7);
     				}
 				} else {
 					temp_value = data_block.substring(0,10);
-					temp_decoded = parseInt(data_block.substring(0,10), 2);
+					temp_decoded = parseInt(data_block.substring(0,10), 2).toString().padStart(3, "0");
 					data_block = data_block.substring(10);
 				}
 
diff --git a/js/sqrd.js b/js/sqrd.js
index d4795a0..dab7899 100644
--- a/js/sqrd.js
+++ b/js/sqrd.js
@@ -913,20 +913,20 @@ function QRDecode(data){
     		for(var i=0; i < Math.floor((length + 2) / 3); i++){
     			if(i == Math.floor((length + 2) / 3) - 1){
     				if(length % 3 == 0){
-    					num += parseInt(data_bits.substring(0,10), 2);
+    					num += parseInt(data_bits.substring(0,10), 2).toString().padStart(3, "0");
     					temp_data += data_bits.substring(0,10);
                     	data_bits = data_bits.substring(10);
     				} else if(length % 3 == 1){
-    					num += parseInt(data_bits.substring(0,4), 2);
+    					num += parseInt(data_bits.substring(0,4), 2).toString();
     					temp_data += data_bits.substring(0,4);
                     	data_bits = data_bits.substring(4);
     				} else {
-    					num += parseInt(data_bits.substring(0,7), 2);
+    					num += parseInt(data_bits.substring(0,7), 2).toString().padStart(2, "0");
     					temp_data += data_bits.substring(0,7);
                     	data_bits = data_bits.substring(7);
     				}
     			} else {
-    				num += parseInt(data_bits.substring(0,10), 2);
+    				num += parseInt(data_bits.substring(0,10), 2).toString().padStart(3, "0");
     				temp_data += data_bits.substring(0,10);
                     data_bits = data_bits.substring(10);
     			}