Free tools · Block 0

Bitcoin genesis block decoder

All 285 bytes of Bitcoin's first block, laid open. Hover over or tap any field to see what it is, including the newspaper headline Satoshi Nakamoto wrote into it on 3 January 2009.

Block header · bytes 0–79

01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3b a3 ed fd 7a 7b 12 b2 7a c7 2c 3e 67 76 8f 61 7f c8 1b c3 88 8a 51 32 3a 9f b8 aa 4b 1e 5e 4a 29 ab 5f 49 ff ff 00 1d 1d ac 2b 7c

Transaction count and the coinbase transaction · bytes 80–284

01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff 4d 04 ff ff 00 1d 01 04 45 54 68 65 20 54 69 6d 65 73 20 30 33 2f 4a 61 6e 2f 32 30 30 39 20 43 68 61 6e 63 65 6c 6c 6f 72 20 6f 6e 20 62 72 69 6e 6b 20 6f 66 20 73 65 63 6f 6e 64 20 62 61 69 6c 6f 75 74 20 66 6f 72 20 62 61 6e 6b 73 ff ff ff ff 01 00 f2 05 2a 01 00 00 00 43 41 04 67 8a fd b0 fe 55 48 27 19 67 f1 a6 71 30 b7 10 5c d6 a8 28 e0 39 09 a6 79 62 e0 ea 1f 61 de b6 49 f6 bc 3f 4c ef 38 c4 f3 55 04 e5 1e c1 12 de 5c 38 4d f7 ba 0b 8d 57 8a 4c 70 2b 6b f1 1d 5f ac 00 00 00 00
Checking these bytes in your browser…

Every field in order

Offsets count bytes from 0. Choose a field to highlight its bytes above.

BytesFieldDecoded
Block header
0–31
4–350000000000000000000000000000000000000000000000000000000000000000
36–674a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
68–711231006505 = 2009-01-03 18:15:05 UTC
72–750x1d00ffff
76–792083236893 (0x7c2bac1d)
Transaction count and coinbase transaction
801
81–841
851
86–1170000000000000000000000000000000000000000000000000000000000000000
118–1210xffffffff
12277 bytes
123–12704 → push 4 bytes: ffff001d
128–12901 → push 1 byte: 04
1300x45 → push 69 bytes
131–199The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
200–2030xffffffff
2041
205–2125,000,000,000 satoshis = 50 BTC
21367 bytes
2140x41 → push 65 bytes
215–27904678afdb0fe5548271967f1…6bf11d5f
2800xac = OP_CHECKSIG
281–2840

Decode your own coinbase hex → ASCII

Paste a coinbase scriptSig, a whole coinbase transaction, or any hex. If it parses as a transaction or a script, each data push is decoded separately; either way you get the raw bytes as ASCII. Nothing is sent anywhere.

Spaces, line breaks and a leading 0x are ignored.

What is inside block 0

Bitcoin's genesis block is 285 bytes. The first 80 are the block header: version, previous block hash, merkle root, time, bits and nonce. Hash those 80 bytes twice with SHA-256, reverse the result, and you get 000000000019d668…, the hash every Bitcoin node has hard-coded as the start of the chain. This page recomputes it from the bytes above each time it loads. The previous-block field is all zeros, because there was nothing before it.

The remaining 205 bytes are a count of one, then a single transaction: the coinbase, which creates the block's 50 BTC reward.

Where the message lives

A coinbase transaction has no real input to spend, so its input script (the scriptSig) is free space. Satoshi used 77 bytes of it. The last 69 are plain ASCII: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks, the front-page headline of that day's London Times. It works as a timestamp, since the block cannot have been made before the headline existed, and many people also read it as a comment on the bank bailouts of the time.

The message is not in the header, but the header commits to it. The transaction's double SHA-256 hash is the merkle root at bytes 36–67 (this block has only one transaction, so the two are the same thing). Change one letter of the headline and the merkle root changes, the header changes, and the ten leading zeros of the block hash are gone. The proof of work would have to be redone.

On Bitcoin's chain, and not on it

Satoshi's message is on Bitcoin's blockchain. It is in block 0, and every full node stores a copy. Strike a Block plates are not. A plate carries its inscription in the same place, a coinbase scriptSig, and its header is mined by a real Bitcoin ASIC to real leading zeros. But each plate is a standalone block: it extends no chain, no Bitcoin node will ever see it, and it is not a coin or token.

To check any header's proof of work yourself, use the block header calculator; it has block 0 preloaded.

More tools

Have a real chip strike your own line, from $6.99. One sentence of yours, mined into a standalone block by a Bitcoin ASIC. Not on Bitcoin's blockchain; the proof of work is real.