Guide · Mining difficulty

Bitcoin mining difficulty, and when it changes next

By the CloudMineCrypto teamUpdated 9 min read

The short answer

Mining difficulty is how hard it is to find a valid Bitcoin block. Every 2,016 blocks (about two weeks) the network compares how long those blocks took with the 14 days they should have taken, and moves difficulty up or down to match, by at most 4× either way. That keeps blocks near 10 minutes apart however much hashrate joins or leaves.

Key takeaways

  • Difficulty resets every 2,016 blocks, not on a calendar date.
  • New difficulty = old difficulty × 14 days ÷ the days the period actually took, capped at 4× up or down.
  • Network hashrate ≈ difficulty × 2³² ÷ 600 hashes per second.
  • Rising difficulty doesn’t mean less bitcoin overall. It means each miner gets a smaller share.

Next difficulty adjustment

Live estimate

Estimated change

−2.05%

57.4% done

Blocks left
858
Estimated date
in about 6.1 days
Average block time10.21 min
faster10 min targetslower

Live from mempool.space, refreshed every 10 minutes. Last adjustment: +4.16%. Retarget at block 969,696.

Try it: miners join or leave

Drag the slider or tap a chip: the dial, the date and this chart switch to the what-if.

05101520nowretargetretarget
Minutes per block, over the next three periods10 min target
  1. This period

    10.2 min

    per block

  2. Next period

    10.0 min

    difficulty ×0.980

  3. Period after

    10.0 min

    difficulty ×1.000

A change partway through a period is only partly corrected at the next retarget, because the network averages the whole period. The retarget after that finishes the job. Simplified: hashrate stays at the new level and block luck is ignored.

What is Bitcoin mining difficulty?

Definition · Mining difficulty

A number that says how hard it is to find a block hash below the network’s target, compared with the easiest target Bitcoin allows. Difficulty 2 is twice as hard as difficulty 1. The network recalculates it every 2,016 blocks.

Miners hash a block header over and over, changing a small field each time, until the result comes out below a number called the target. There’s no shortcut. It’s pure guessing, and the only way to guess faster is more hardware.

Difficulty is the dial that sets how low that target is. Nobody turns it by hand. Every node runs the same arithmetic on the same block timestamps and gets the same answer.

132.8 trillion

Current difficulty

latest block, live

950 EH/s

Hashrate it implies

difficulty × 2³² ÷ 600

2,016

Blocks per period

consensus rule

10 min

Target block time

14 days per period

What is the target, and why the leading zeros?

A block hash is a 256-bit number, usually written as 64 hex digits. The target is a number of the same size, and a valid block needs a hash at or below it. A lower target means more zeros at the front, which means fewer hashes qualify.

A block hash has to be below this number

Difficulty 1

8 leading zeros

The easiest target the rules allow. The first blocks in 2009 used it.

00000000ffff0000000000000000000000000000000000000000000000000000

Today: difficulty 132.8 trillion

19 leading zeros

Worked out from the live difficulty, refreshed every 10 minutes.

000000000000000000021ec50000000014150d707576190b7fc44ceb4d6b138b

Each extra leading hex zero makes a winning hash 16 times rarer. Difficulty measures the same thing on a smooth scale: target at difficulty 1 divided by today’s target.

The formula ties the two together: difficulty = target at difficulty 1 ÷ current target. A miner needs about difficulty × 2³² hashes, on average, to find one block. You can feel the “one more zero is 16 times harder” rule yourself below, with a tiny block your browser mines.

Interactive · mine a block in your browser

Real SHA-256d proof of work, simplified header

Block #1Previous hash0000000000000000000000000000000000000000000000000000000000000000Nonce0

Block hash (double SHA-256)

Edit the transactions: the hash changes completely with a single letter.

Attempts: 0

Your hashrate: n/a

Time: 0.0 s

How does the difficulty adjustment work?

At every block height divisible by 2,016, each node looks at how long the last period took and rescales difficulty so the next one would take 14 days at the same hashrate.

new difficulty = old difficulty × 20,160 minutes ÷ actual minutes for the last 2,016 blocks
Both changes are capped: difficulty can move at most 4 times up or 4 times down per adjustment.

How much difficulty changes, by how long the last 2,016 blocks took

×4×2×1×0.5×0.2501428425670days the period took (target: 14)×2×1×0.5cap ×4cap ×¼
A period that took 7 days doubles difficulty. One that took 28 days halves it. Faster than 3.5 days or slower than 56 days hits the cap.

Blocks came too fast? The period took less than 14 days, so difficulty goes up. Too slow? It goes down. The cap stops a sudden swing, for example after a big outage, from wrecking the next period.

Worked examples of the rule
Period tookBlock timeChange
12 days8.6 min+16.7%
13 days9.3 min+7.7%
14 days10.0 min0%
15 days10.7 min−6.7%
3 days2.1 min+300% (×4 cap)

When is the next difficulty adjustment?

The next adjustment is expected around , at block 969,696. The current estimate is −2.05%, based on an average block time of 10.21 minutes so far this period.

−2.05%

Estimated change

live estimate

57.4%

Period done

858 blocks left

Estimated date

UTC

+4.16%

Last adjustment

for comparison

Treat the estimate as a moving target. Early in a period it rests on few blocks, so it swings. It settles as the period fills. The dial at the top of the page updates every 10 minutes.

How is difficulty related to hashrate?

Closely. To find one block every 600 seconds at a given difficulty, the whole network has to hash at about this rate:

network hashrate ≈ difficulty × 2³² ÷ 600
Hashes per second the network needs for 10-minute blocks at a given difficulty.

Network hashrate, read two ways (live)

From difficulty
difficulty × 2³² ÷ 600
950 EH/s
Figure the app uses
public estimate, updated hourly
1003 EH/s
They rarely match exactly. Difficulty reflects the last full period, while hashrate estimates react to recent block times, and block luck adds noise to both.

That’s also how public hashrate figures are made. Nobody can count every machine, so hashrate is estimated from difficulty and how quickly recent blocks arrived. Hashrate moves first. Difficulty follows at the next retarget, so the two can be out of step for up to two weeks. Convert units with the hashrate converter, or read more in the hashrate guide.

How has Bitcoin difficulty changed over time?

It started at 1, the minimum, when the first block was mined. It has climbed by many powers of ten since, because mining moved from laptop CPUs to graphics cards, then to purpose-built ASIC machines.

From difficulty 1 to today, one step per ×10

11 million1 trillion

First block

difficulty 1

Latest block (live)

132.8 trillion

about 14.1 powers of ten higher

The long-run trend is up, but it isn’t a straight line. Difficulty drops when miners switch off: after a price fall, after a halving cuts rewards, or when a whole region stops mining at once, as happened with China’s mining ban in 2021. The full history is on mempool.space’s hashrate and difficulty chart.

What does difficulty mean for miners?

A miner’s expected income is their share of the network’s hashrate times the rewards. If difficulty rises 10% and your machine stays the same, you should expect about 9% less bitcoin per day. Drag the slider to see it.

What happens when miners join or leave

Before the adjustment: one hour of blocksevery 6.7 min
After the adjustmentevery 10.0 min

2,016 blocks take

9.3 days

Difficulty then

×1.50

An unchanged miner earns

×0.67

Simplified: one adjustment, steady hashrate. Real retargets compare the last 2,016 blocks with two weeks and can move difficulty by at most 4× either way.

0.0000004515BTC

Per TH/s per day (live estimate)

What 1 TH/s of hashing earns on average today, before pool fees and power. Miners call this hashprice.

↑ difficulty

Same machine, less bitcoin

Each rise shrinks every miner’s slice. Older, less efficient machines are the first to stop paying for their power.

↓ difficulty

Those still running earn more

When miners switch off, the ones left get a bigger share after the next retarget.

That’s why home mining is so hard to make pay. Hashrate keeps growing, so a machine’s output falls over its life. The profit calculator and the guide to whether mining is profitable run the numbers.

How does difficulty affect your CloudMineCrypto estimate?

In CloudMineCrypto you don’t need a machine, and you mine for free: the free plan, ads, games, offers and daily check-ins all add plans, and your BTC balance grows while they run. Paid plans are an optional add-on for more speed. The estimate uses the same share idea as real mining: your plan’s hashrate divided by the network’s, times 6 blocks an hour, times the block reward.

BTC per hour = plan hashrate ÷ network hashrate × 6 × block reward
The formula the app uses to estimate your rewards. Boosts come on top, and aren’t included here; rules and limits apply (Terms §5).

If the network hashrate changed, what would a plan earn?

Free plan

4.6 GH/s · one 8-hour run

Today
0.0000000006930BTC
After
0.0000000005775BTC

Ad, game or check-in plan

7.4 GH/s · one 24-hour run

Today
0.000000003326BTC
After
0.000000002772BTC

Your share of the network changes by ×0.83, and so does the estimate.

Live inputs, updated hourly. Estimates before boosts, not guaranteed. The app’s estimate follows the network hashrate figure, which is refreshed regularly, so it doesn’t wait for the next retarget.

Difficulty isn’t an input, but it moves with the network hashrate that is. When more hashrate joins, your share falls, and so does the estimate. When hashrate leaves, the same plan earns a little more. Live figures for every plan are in how much bitcoin will I earn, and the reward rules have the full details. Rewards are estimates and aren’t guaranteed. A plan doesn’t give you ownership of any mining hardware.

What do people get wrong about mining difficulty?

Someone sets the difficulty.

Nobody does. Every node works it out from the timestamps of the last 2,016 blocks, and a block with the wrong target is rejected.

It changes every two weeks, on a schedule.

It changes every 2,016 blocks. Two weeks is only the aim, so the date drifts with block speed.

More miners means more bitcoin gets issued.

Only briefly, until the next retarget. After that the pace goes back to about 10 minutes and the issuance schedule holds.

One adjustment fixes the block time straight away.

It averages the whole period. A change partway through is only partly corrected, and the next retarget finishes it. Try it in the dial at the top.

Difficulty tells you where the price is going.

It tells you how much hashing happened recently. Miners react to price, but difficulty trails them by up to two weeks.

A 10-minute average means a block every 10 minutes.

Block gaps are random. Gaps of a minute or of an hour both happen; the average is what difficulty steers.

New to this? Start with how Bitcoin mining works and proof of work, or look up any term in the glossary.

Frequently asked questions

What is Bitcoin mining difficulty?

A number that says how hard it is to find a valid block, compared with the easiest target the rules allow (difficulty 1). The network adjusts it every 2,016 blocks so blocks keep arriving about every 10 minutes.

How often does Bitcoin difficulty adjust?

Every 2,016 blocks. At 10 minutes per block that’s about two weeks, but the real gap depends on how fast blocks come, so it can be a few days earlier or later.

When is the next Bitcoin difficulty adjustment?

The live dial at the top of this page shows the estimated date, blocks left and expected change, from mempool.space data refreshed every 10 minutes. The date is an estimate because block times are random.

How much can difficulty change at once?

At most 4 times up or 4 times down in one adjustment. In practice changes are usually a few percent, because hashrate rarely moves that fast in two weeks.

Does higher difficulty mean fewer bitcoin are mined?

No. Difficulty keeps the pace at about one block every 10 minutes, so issuance follows the schedule whatever the difficulty. Higher difficulty means each miner gets a smaller share of the same rewards.

How is difficulty related to hashrate?

Network hashrate is roughly difficulty × 2³² ÷ 600 hashes per second. Difficulty follows hashrate with a delay of up to one period, since it only changes at retargets.

Does mining difficulty affect CloudMineCrypto rewards?

Indirectly, and you never have to manage it: the free plan, ads, games, offers and daily check-ins keep adding plans either way. The app’s estimate uses your plan’s share of the network hashrate, 6 blocks an hour and the block reward. When network hashrate rises, your share and your estimate go down. Rewards are estimates and aren’t guaranteed.

Sources and further reading

  1. Difficulty · Bitcoin Wiki
  2. Block chain guide: proof of work and target · Bitcoin Developer Guide
  3. Mining guide · Bitcoin Developer Guide
  4. Bitcoin: A Peer-to-Peer Electronic Cash System · Satoshi Nakamoto
  5. Hashrate and difficulty chart · mempool.space
  6. Mining dashboard: hashrate, difficulty, pools · mempool.space

Live figures on this page (network hashrate, block reward, BTC price) come from the CloudMineCrypto API, refreshed hourly, and are labelled where they appear. This guide is educational and not financial advice. CloudMineCrypto is not an investment product; rewards in the app are estimates and aren’t guaranteed.

You’ve read how it works. Now watch it happen.

Claim a free 8-hour mining plan in the CloudMineCrypto app and see your estimated BTC tick up from live network data. No hardware, no card.