Clash of Clans Village Progress Tracker

This application, when supplied with basic information about your village on Clash of Clans, makes it easy to see which upgrades are remaining for the current Town Hall level, calculates the total amount of loot needed to complete all of those upgrades, and displays the total value of everything built in the village already. Your village’s information can be saved to your Pixel Crux account so that it is easy to continue to track your village’s progress when you return to this application.

Please note that this application is only for the main village. To track progress on the Builder Base, use Pixel Crux's Clash of Clans Builder Base Progress Tracker.

Getting Started

Welcome! To get started, select your current Town Hall level in the next module. This will enable other modules that correspond to the buildings, troops, spells, and more that you can have unlocked at that Town Hall level. For anything that has not been built yet, set the level to 0.

Be sure to click the “Save” button in the lower right corner of the screen when you have filled in your village’s information to save it to the Pixel Crux database for use later. If you save data from this application, it will be loaded automatically on any device that you log in on.

To more quickly enter your village’s information, use the Clash of Clans button beside the “Save” button to import some of the data from your in-game profile.

Town Hall

Town Hall Level

Next Upgrade

{{res(baseData.building.townHall.cost[base.townHall + 1], 'Builder') | number: 0}}Gold
{{time(baseData.building.townHall.time[base.townHall + 1], 'Builder')}}
Town Hall

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Troops and Army Buildings

Troops

Troop Levels

Upgrades To Do

  • Barbarian
    Level {{$index}}
    {{res(baseData.troop.barbarian.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.barbarian.time[$index], 'Laboratory')}}
  • Archer
    Level {{$index}}
    {{res(baseData.troop.archer.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.archer.time[$index], 'Laboratory')}}
  • Giant
    Level {{$index}}
    {{res(baseData.troop.giant.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.giant.time[$index], 'Laboratory')}}
  • Goblin
    Level {{$index}}
    {{res(baseData.troop.goblin.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.goblin.time[$index], 'Laboratory')}}
  • Wall Breaker
    Level {{$index}}
    {{res(baseData.troop.wallBreaker.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.wallBreaker.time[$index], 'Laboratory')}}
  • Balloon
    Level {{$index}}
    {{res(baseData.troop.balloon.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.balloon.time[$index], 'Laboratory')}}
  • Wizard
    Level {{$index}}
    {{res(baseData.troop.wizard.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.wizard.time[$index], 'Laboratory')}}
  • Healer
    Level {{$index}}
    {{res(baseData.troop.healer.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.healer.time[$index], 'Laboratory')}}
  • Dragon
    Level {{$index}}
    {{res(baseData.troop.dragon.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.dragon.time[$index], 'Laboratory')}}
  • P.E.K.K.A
    Level {{$index}}
    {{res(baseData.troop.pekka.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.pekka.time[$index], 'Laboratory')}}
  • Baby Dragon
    Level {{$index}}
    {{res(baseData.troop.babyDragon.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.babyDragon.time[$index], 'Laboratory')}}
  • Miner
    Level {{$index}}
    {{res(baseData.troop.miner.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.miner.time[$index], 'Laboratory')}}
  • Electro Dragon
    Level {{$index}}
    {{res(baseData.troop.electroDragon.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.electroDragon.time[$index], 'Laboratory')}}
  • Yeti
    Level {{$index}}
    {{res(baseData.troop.yeti.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.yeti.time[$index], 'Laboratory')}}
  • Dragon Rider
    Level {{$index}}
    {{res(baseData.troop.dragonRider.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.dragonRider.time[$index], 'Laboratory')}}
  • Electro Titan
    Level {{$index}}
    {{res(baseData.troop.electroTitan.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.electroTitan.time[$index], 'Laboratory')}}
  • Root Rider
    Level {{$index}}
    {{res(baseData.troop.rootRider.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.troop.rootRider.time[$index], 'Laboratory')}}

All maxed for this Town Hall level!

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Dark Troops

Dark Troop Levels

Upgrades To Do

  • Minion
    Level {{$index}}
    {{res(baseData.darkTroop.minion.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.minion.time[$index], 'Laboratory')}}
  • Hog Rider
    Level {{$index}}
    {{res(baseData.darkTroop.hogRider.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.hogRider.time[$index], 'Laboratory')}}
  • Valkyrie
    Level {{$index}}
    {{res(baseData.darkTroop.valkyrie.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.valkyrie.time[$index], 'Laboratory')}}
  • Golem
    Level {{$index}}
    {{res(baseData.darkTroop.golem.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.golem.time[$index], 'Laboratory')}}
  • Witch
    Level {{$index}}
    {{res(baseData.darkTroop.witch.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.witch.time[$index], 'Laboratory')}}
  • Lava Hound
    Level {{$index}}
    {{res(baseData.darkTroop.lavaHound.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.lavaHound.time[$index], 'Laboratory')}}
  • Bowler
    Level {{$index}}
    {{res(baseData.darkTroop.bowler.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.bowler.time[$index], 'Laboratory')}}
  • Ice Golem
    Level {{$index}}
    {{res(baseData.darkTroop.iceGolem.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.iceGolem.time[$index], 'Laboratory')}}
  • Headhunter
    Level {{$index}}
    {{res(baseData.darkTroop.headhunter.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.headhunter.time[$index], 'Laboratory')}}
  • Apprentice Warden
    Level {{$index}}
    {{res(baseData.darkTroop.apprenticeWarden.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkTroop.apprenticeWarden.time[$index], 'Laboratory')}}

All maxed for this Town Hall level!

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Siege Machines

Siege Machine Levels

Upgrades To Do

  • Wall Wrecker
    Level {{$index}}
    {{res(baseData.siegeMachine.wallWrecker.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.wallWrecker.time[$index], 'Laboratory')}}
  • Battle Blimp
    Level {{$index}}
    {{res(baseData.siegeMachine.battleBlimp.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.battleBlimp.time[$index], 'Laboratory')}}
  • Stone Slammer
    Level {{$index}}
    {{res(baseData.siegeMachine.stoneSlammer.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.stoneSlammer.time[$index], 'Laboratory')}}
  • Siege Barracks
    Level {{$index}}
    {{res(baseData.siegeMachine.siegeBarracks.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.siegeBarracks.time[$index], 'Laboratory')}}
  • Log Launcher
    Level {{$index}}
    {{res(baseData.siegeMachine.logLauncher.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.logLauncher.time[$index], 'Laboratory')}}
  • Flame Flinger
    Level {{$index}}
    {{res(baseData.siegeMachine.flameFlinger.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.flameFlinger.time[$index], 'Laboratory')}}
  • Battle Drill
    Level {{$index}}
    {{res(baseData.siegeMachine.battleDrill.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.siegeMachine.battleDrill.time[$index], 'Laboratory')}}

All maxed for this Town Hall level!

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

{{z.name}}

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.hero[z.key].cost[$index], 'Builder') | number: 0}}{{z.res2}}
    {{time(baseData.hero[z.key].time[$index], 'Builder')}}

All maxed for this Town Hall level!

{{z.name}}

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.pet[z.key].cost[$index], 'Pet') | number: 0}}{{z.res2}}
    {{time(baseData.pet[z.key].time[$index], 'Pet')}}

All maxed for this Town Hall level!

Spells and Spell Buildings

Spells

Spell Levels

Upgrades To Do

  • Lightning
    Level {{$index}}
    {{res(baseData.spell.lightningSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.lightningSpell.time[$index], 'Laboratory')}}
  • Heal
    Level {{$index}}
    {{res(baseData.spell.healingSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.healingSpell.time[$index], 'Laboratory')}}
  • Rage
    Level {{$index}}
    {{res(baseData.spell.rageSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.rageSpell.time[$index], 'Laboratory')}}
  • Jump
    Level {{$index}}
    {{res(baseData.spell.jumpSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.jumpSpell.time[$index], 'Laboratory')}}
  • Freeze
    Level {{$index}}
    {{res(baseData.spell.freezeSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.freezeSpell.time[$index], 'Laboratory')}}
  • Clone
    Level {{$index}}
    {{res(baseData.spell.cloneSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.cloneSpell.time[$index], 'Laboratory')}}
  • Invisibility
    Level {{$index}}
    {{res(baseData.spell.invisibilitySpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.invisibilitySpell.time[$index], 'Laboratory')}}
  • Recall
    Level {{$index}}
    {{res(baseData.spell.recallSpell.cost[$index], 'Laboratory') | number: 0}}Elixir
    {{time(baseData.spell.recallSpell.time[$index], 'Laboratory')}}

All maxed for this Town Hall level!

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Dark Spells

Dark Spell Levels

Upgrades To Do

  • Poison
    Level {{$index}}
    {{res(baseData.darkSpell.poisonSpell.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkSpell.poisonSpell.time[$index], 'Laboratory')}}
  • Earthquake
    Level {{$index}}
    {{res(baseData.darkSpell.earthquakeSpell.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkSpell.earthquakeSpell.time[$index], 'Laboratory')}}
  • Haste
    Level {{$index}}
    {{res(baseData.darkSpell.hasteSpell.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkSpell.hasteSpell.time[$index], 'Laboratory')}}
  • Skeletons
    Level {{$index}}
    {{res(baseData.darkSpell.skeletonSpell.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkSpell.skeletonSpell.time[$index], 'Laboratory')}}
  • Bats
    Level {{$index}}
    {{res(baseData.darkSpell.batSpell.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkSpell.batSpell.time[$index], 'Laboratory')}}
  • Overgrowth
    Level {{$index}}
    {{res(baseData.darkSpell.overgrowthSpell.cost[$index], 'Laboratory') | number: 0}}Dark Elixir
    {{time(baseData.darkSpell.overgrowthSpell.time[$index], 'Laboratory')}}

All maxed for this Town Hall level!

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Defenses

Walls

Number of Walls

You have entered {{totalWalls()}} out of the {{baseData.building.wall.maxNum[base.townHall]}} walls available with a level {{base.townHall}} Town Hall.

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building.wall.cost[$index], 'Builder') | number: 0}}
    Gold/Elixir
    Gold
    ×{{y}}

All maxed for this Town Hall level!

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}
  • Gear-Up
    {{res(baseData.building[z.key].gearUp.cost, 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].gearUp.time, 'Builder')}}
    ×{{gearUps[z.key]}}

All maxed for this Town Hall level!

Traps

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Resource Buildings

{{z.plural}}

{{z.name}}

{{z.name}} Levels

{{z.name}} Level

Upgrades To Do

  • Level {{$index}}
    {{res(baseData.building[z.key].cost[$index], 'Builder') | number: 0}}{{z.res}}
    {{time(baseData.building[z.key].time[$index], 'Builder')}}
    ×{{y}}

All maxed for this Town Hall level!

Progress

Upgrades Remaining for Town Hall Level

All upgrades have been completed! It’s time to upgrade your Town Hall!

{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Elixir
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Elixir
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Gold
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Gold
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Dark Elixir
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Dark Elixir
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Dark Elixir
Gear Up {{y.name}}
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Gold
{{y.name}} (×{{y.number}})
{{time(y.time, y.upgradeType)}}
{{res(y.cost, y.upgradeType) | number: 0}} Gold/Elixir

Minimum Time Remaining

Assuming your Builders, Laboratory, and Pet House are always working, this is how long it will take to do all of the upgrades for your Town Hall level (disregarding time skipped with Gems or Magic Items).

Builder Upgrades

{{time(totalTimeRemainingByType('Builder') / $storage.ccNumberOfBuilders, false) | ifEmpty: 'No Upgrades'}} remaining

{{timeProgress('Builder') | number: 2}}% of the way from maxed Town Hall {{base.townHall - 1 | number: 0}} to maxed Town Hall {{base.townHall | number: 0}}.

Laboratory Research

{{time(totalTimeRemainingByType('Laboratory'), false) | ifEmpty: 'No Upgrades'}} remaining

{{timeProgress('Laboratory') | number: 2}}% of the way from maxed Town Hall {{base.townHall - 1 | number: 0}} to maxed Town Hall {{base.townHall | number: 0}}.

Hero Pet Upgrades

{{time(totalTimeRemainingByType('Pet'), false) | ifEmpty: 'No Upgrades'}} remaining

{{timeProgress('Pet') | number: 2}}% of the way from maxed Town Hall {{base.townHall - 1 | number: 0}} to maxed Town Hall {{base.townHall | number: 0}}.

Date

You can max Town Hall {{base.townHall | number: 0}} by {{maxedDate(totalTimeRemainingByType('Builder') / $storage.ccNumberOfBuilders, totalTimeRemainingByType('Laboratory'), totalTimeRemainingByType('Pet'))}}.

Totals

Costs to Max Everything for Town Hall Level {{base.townHall}}

Upgrade Type Total Loot Remaining Total Build Time Remaining*
Gold {{res(goldUntilThCost, false) | number: 0 | ifEmpty: 0}} Gold {{time(goldUntilThTime, false) | ifEmpty: "None"}}
Elixir {{res(elixirUntilThCost, false) | number: 0 | ifEmpty: 0}} Elixir {{time(elixirUntilThTime, false) | ifEmpty: "None"}}
Dark Elixir {{res(darkElixirUntilThCost, false) | number: 0 | ifEmpty: 0}} Dark Elixir {{time(darkElixirUntilThTime, false) | ifEmpty: "None"}}
Walls {{res(wallCostUntilThLows, 'Builder') | number: 0}} Gold + {{res(wallCostUntilThHighs, 'Builder') | number: 0}} Gold/Elixir 0 Gold/Elixir N/A
Town Hall to Level {{base.townHall + 1}} {{res(baseData.building.townHall.cost[base.townHall + 1], 'Builder') | number: 0}} Gold {{time(baseData.building.townHall.time[base.townHall + 1], 'Builder')}}

Please check your inputs for Walls.

Village Value¤

Upgrade Type Total Loot Spent Total Build Time*
Gold {{res(vvGoldSpent + cumulativeCost('building', 'townHall', base.townHall), false) | number: 0 | ifEmpty: 0}} Gold {{time(vvGoldTime + cumulativeTime('building', 'townHall', base.townHall), false) | ifEmpty: "None"}}
Elixir {{res(vvElixirSpent, false) | number: 0 | ifEmpty: 0}} Elixir {{time(vvElixirTime, false) | ifEmpty: "None"}}
Dark Elixir {{res(vvDarkElixirSpent, false) | number: 0 | ifEmpty: 0}} Dark Elixir {{time(vvDarkElixirTime, false) | ifEmpty: "None"}}
Walls {{res(vvWallSpentLows, false) | number: 0}} Gold + {{res(vvWallSpentHighs, false) | number: 0}} Gold/Elixir 0 Gold/Elixir N/A
Total
{{res(vvGoldSpent + cumulativeCost('building', 'townHall', base.townHall) + vvElixirSpent + vvWallSpentLows + vvWallSpentHighs, false) | number: 0 | ifEmpty: 0}} Gold/Elixir
{{res(vvDarkElixirSpent, false) | number: 0 | ifEmpty: 0}} Dark Elixir
{{time(vvGoldTime + cumulativeTime('building', 'townHall', base.townHall) + vvElixirTime + vvDarkElixirTime, false) | ifEmpty: "None"}}

Please check your inputs for Walls.

* Counted in Builder/Laboratory/Pet House man-hours, the amount of time it would take if only one construction or upgrade was performed at once in sequence. Since multiple Builders can be working at once, the actual time will likely be much shorter.

Excludes Walls and the Town Hall. Higher levels of Walls can be upgraded with Elixir, and upgrading the Town Hall may not be considered part of the progression to maxing everything for the current Town Hall level.

Excludes Walls. Higher levels of Walls can be upgraded with Elixir, and lower levels must be upgraded with Gold.

¤ Village value comes from totalling the full resource and time costs of all completed upgrades. The values in this section do not account for Gold Pass boosts or other reductions to costs due to their variability.