• Hash256
  • Hash160
  • Reverse Bytes
  • Hexadecimal
  • Satoshis

Block Header

A summary of the data in the block.

A block header is like the metadata at the top of a block of transactions.

The fields in the block header provide a unique summary of the entire block.


Here’s the block header for block 123,456:



Field Description
Version The version of the block.
Previous Block Hash The Block Hash of the block that this block is being built on top of. This is what “chains” the blocks together.
Merkle Root All of the transactions in this block, hashed together. Basically provides a single-line summary of all the transactions in this block.
Time When a miner is trying to mine this block, the Unix time at which this block header is being hashed is noted within the block header itself.
Bits A shortened version of the Target.
Nonce The field that miners change in order to try and get a hash of the block header (a Block Hash) that is below the Target.

Data Structure

Field Size Data
Version 4 bytes Little-endian
Previous Block Hash 32 bytes Little-endian
Merkle Root 32 bytes Little-endian
Time 4 bytes Little-endian
Bits 4 bytes Little-endian
Nonce 4 bytes Little-endian


  • Hash Block Header - Insert individual block header fields, and get the serialized block header and the Block Hash.

By Greg Walker,

Last Updated: 31 May 2020
  • 31 May 2020: prev block and merkle root are little-endian
  • 10 May 2020: fixed highlighting time correctly in block header example (thanks wbarobinson on github)
  • 18 Apr 2020: tidied up javascript files
  • 02 Apr 2020: added grades
  • 28 Mar 2020: updated html for h1 headers and subheadings - now dynamic from yaml
  • 28 Mar 2020: updated html for h1 headers and subheadings
  • 09 Oct 2019: renamed browser to explorer, glossary to guide, and guide to beginners
Back to Top

Hey there, it's Greg.

I'll let you know about cool website updates, or if something seriously interesting happens in bitcoin.

Don't worry, it doesn't happen very often.