## 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.