## Comments #### heavyw8t So WTF is Maci Clare Peltz supposed to be? #### qartis My guess is someone's girlfriend's name, but I'm not sure. #### Raymond Decelles Probably the tattoo owner's girlfriend, wife, mother, daughter, whatever. #### Luke how do we know that it XORed with 10101? #### qartis ISO 18004:2006, section 6.9.1 paragraph 4 says: > The 15-bit error corrected format information shall then be XORed with the > Mask Pattern 101010000010010, in order to ensure that no combination of Error > Correction Level and data mask pattern will result in an all-zero data > string. where the first 5 bits of the Mask Pattern are applied to the 5 data bits of the format information. #### Les Potter So how do you zigzag around the alignment thingy? Also, the red box at the top of the QR is only 7 bits wide. Can you explain why? #### Les Potter Your paragraph on the format code says it's 14 bits long, but then below the spec is quoted as saying it 15 bits long. Can you explain? #### qartis Whoops, that was a typo. You're correct, the format code is 15 bits long. #### qartis My previous pictures had a border line incorrectly drawn, making it look like there were only 7 bits along the top edge. I have redone the pictures to hopefully make it a bit more clear. As for zig-zagging around the alignment pattern, the easiest way to think about it is that you simply skip past the bits that are occupied by the alignment pattern. Here's an image from Wikipedia that shows several examples of zig-zags passing near alignment patterns (image credit Walter Tuvell, wtuvell) #### Martie Anderson I'm stuck on deciphering this code. Any takers? Thanks, Martie (sorry it's so faint.) #### qartis Hi Martie, that code isn't a QR code, it's a Data Matrix code. It represents the text string: "358166070831158". I have attached a clearer version here for you to attempt to decode (see the Data Matrix wikipedia article: <https://en.wikipedia.org/wiki/Data_Matrix>). If there is enough interest I can create a blog post about decoding other 2D barcode formats by hand. #### Martie Anderson Anything you can do would be so helpful. The code was adhered to the back of my phone. Could it be a new format of GPS tracking? Is thishe what is put on produce to track sales? Thanks for all of your help. #### 刘文景 If there are some errors in the data code, I wonder how you can decode it? #### Iri <https://uploads.disquscdn.com/images/5c239e6cf4e9e5ded58cac253f360a820253225c446f7898317aeb3dbe9b3811.jpg> I am stuck decoding a qr code.... I have tried several ways. It was sent a long time ago so maybe it has expired. Any takers? <http://elpapelillo.wordpress.com> #### Felfa It's a base64 encoded text. Literally, this QR code says: `ENC;(...):Lz0YbziKr+6AIUiR9l8jwISyBWES4ah/xVBBIMV4eTs=` QR codes never expire. #### Iri Thank you Felfa! I got the same code from a QR decoder... I have no idea what this code means. Could it be a further encrypted message or is it a line of code you think? #### PointyOintment GPS? It's literally just a label. It was probably used in the factory to track parts and completed phones moving through the assembly and packaging processes. #### kamrom dechu I scanned the tattoo QR code into Pokemon Moon. It gave me a Taillow. #### Ninan Naner May you teach me to decode qr code as show below,please? I try several time as follow your solution to decode but I still can't get the answer "A1". Thank you very much. I hope you will see my question and answer me in early. <https://uploads.disquscdn.com/images/51d2418d871d509ef1ee0076aa38b94dc13ea44b3b868f7ec112d3c4939d2de7.jpg> #### David Konsumer It's binary data, base64 encoded. You can get the binary by pasting `Lz0YbziKr+6AIUiR9l8jwISyBWES4ah/xVBBIMV4eTs=` here: <http://www.motobit.com/util/base64/decoder> #### Ninan Naner I got it. Thank you. #### Edmund French Hi there, I'm in the process of decoding a QR code, and using this guide as..well, a guide, but one thing I can't get my head around - the tattoo is clearly 25x25, but the pictures shown which aren't the tattoo are 21x21. I don't have any programming experience or anything similar, so I suspect I'm missing something obvious.. I've gone right up to the 'divide into 8 bit blocks' stage, but don't know how to section it up before I decode, because the sizes don't match. Any help greatly appreciated.