NBT Tags for Iron Golem in Minecraft (Java Edition 1.16/1.17/1.18/1.19/1.20)

This Minecraft tutorial explains the NBT tags (formerly called data tags) that you can use for an iron golem in Minecraft Java Edition (PC/Mac) 1.16, 1.17, 1.18, 1.19 and 1.20.

TIP: If you are not running Minecraft Java Edition (PC/Mac) 1.16/1.17/1.18/1.19/1.20, find NBT tags for iron golem in another version of Minecraft:

Background

In Minecraft Java Edition 1.16, 1.17, 1.18, 1.19 and 1.20, the entity value for an iron golem is iron_golem. The iron_golem entity has a unique set of data tags that can be used in Minecraft commands such as: /summon and /data.

iron golem

What are NBT tags (formerly called Data Tags)?

NBT tags allow you to set certain properties of an entity (such as iron_golem). The NBT tag is always surrounded in {} such as {PlayerCreated:1}. If there is more than one NBT tag used in a game command, the NBT tags are separated by a comma such as {PlayerCreated:1, CustomName:"\"Protector\""}.

List of NBT Tags

Here is a list of the NBT tags that you can use for iron_golem in Minecraft Java Edition (PC/Mac) 1.16, 1.17, 1.18, 1.19 and 1.20:

NBT Tag Value (Description)
PlayerCreated

0 (The iron golem was not created by a player)
1 (The iron golem was created by a player)

Example
{PlayerCreated:1}

AngerTime

ticks (The number of game ticks before the iron golem is no longer angry)

Example
{AngerTime:500}

CustomName

name (The name to assign to the iron golem)

Example
{CustomName:"\"Protector\""}

Health

number (The number of health points the iron golem has)

Example
{Health:25.0f}

AbsorptionAmount

number (The number of absorption health points the iron golem has)

Example
{AbsorptionAmount:2.0f}

Invulnerable

0 (The iron golem will take damage like normal)
1 (The iron golem will not take any damage from attacks or physical surroundings)

Example
{Invulnerable:1}

PersistenceRequired

0 (The iron golem will despawn naturally)
1 (The iron golem won't despawn)

Example
{PersistenceRequired:1}

NoAI

0 (The iron golem will have artificial intelligence and will move/behave like normal)
1 (The iron golem will have no artificial intelligence and will appear motionless)

Example
{NoAI:1}

Silent

0 (The iron golem will make its usual noises in the game)
1 (The iron golem will not make any noise in the game)

Example
{Silent:1}

Fire

ticks (The number of game ticks until the iron golem is no longer on fire - there are 20 ticks in a second)

Example
{Fire:60}

PortalCooldown

ticks (The number of game ticks until the iron golem can go through a portal again - there are 20 ticks in a second)

Example
{PortalCooldown:120}

Air

ticks (The number of game ticks the iron golem has air left for)

Example
{Air:120}

id

iron_golem (The entity value used to represent an iron golem in the EntityTag or Passengers tag)

Example
{id:iron_golem}

Passengers

The mob that is riding on the iron golem. Use the entity value for the passenger mob

Example of skeleton as passenger
Passengers:[{id:skeleton}]

NBT Tag Examples

To summon an iron golem that is named Protector:

/summon iron_golem ~ ~ ~ {CustomName:"\"Protector\""}

To summon an iron golem that is named Protector and is silent:

/summon iron_golem ~ ~ ~ {CustomName:"\"Protector\"", Silent:1}

Target Selectors

Before we finish discussing data tags, let's quickly explore how to use the @e target selector. The @e target selector allows you to target entities in your commands. If you use the type=iron_golem value, you can target iron golems:

@e[type=iron_golem]

Target Selector Examples

To change the name of the nearest iron golem to Protector:

/data merge entity @e[type=iron_golem,limit=1,sort=nearest] {CustomName:"\"Protector\""}

To kill all iron golems:

/kill @e[type=iron_golem]

Next, learn how to use the game commands in Minecraft.

Command Examples

Here are some game command examples for an iron golem in Minecraft:

Command Generators

If you need help, you can use these tools to automatically generate commands for you: