Minecraft Wiki
This article is about the block. For the crash utility, see Hopper (crash utility).

A hopper is a low-capacity storage block that can be used to collect item entities directly above it, as well as to transfer items into and out of other containers. A hopper can be locked with redstone power to stop it from moving items into or out of itself.



To obtain a hopper, mine it with a pickaxe. Using any other item to mine a hopper drops only its contents.

Block Hopper
Hardness 3
Breaking time[A]
Default 15
Wooden 2.25
Stone 1.15
Iron 0.75
Diamond 0.6
Netherite 0.5
Golden 0.4
  1. Times are for unenchanted tools as wielded by players with no status effects, measured in seconds. For more information, see Breaking § Speed.


A hopper can be crafted from 5 iron ingots and a chest.

Ingredients Crafting recipe
Iron Ingot +


See also: Tutorials/Hopper
Hopper aligment

Hoppers can face down or sideways.

A hopper can be used as a container, as a crafting ingredient, and as a redstone component.

A hopper has an "output" tube at its bottom that can face down or sideways and provides a visual indication of which block the hopper is set up to drop its items into, if that block has an inventory. To place a hopper, use the Place Block control while aiming at the surface to which its output should face (Hoppers do not orient themselves automatically). To place a hopper directly on the face of an already interactable block, the player can sneak while placing the hopper. Attempting to place a hopper aimed on the bottom face of a block instead faces downward. With some blocks, such as the furnace and brewing stand, the hopper has multiple uses. A hopper does not change direction after placement, and it is not attached to the container it faces; the container can be removed or replaced, and the hopper remains unchanged.

Hoppers cannot be moved by pistons.‌[Java Edition only] Despite not being a solid block, attached blocks such as rails, levers, tripwire and redstone dust can be placed on top of hoppers, but not on their sides.


Hopper GUI

Hopper GUI showing the hopper's five slots of inventory at the top and the player's inventory below.

A hopper can be used as a container and has 5 slots of inventory space.

To open the hopper GUI, use the Use Item/Place Block control. To move items between the hopper inventory and the player inventory or hotbar while the hopper GUI is open, drag or shift-click the items. To exit the hopper GUI, use the Esc key, B button or circle button, depending on the device.

By default, the GUI of a hopper is labeled "Item Hopper". A hopper's GUI label can be changed by naming the hopper in an anvil before placing it, or, in Java Edition, by using the data command (for example, to label a hopper at (0,64,0) "Steve's Hopper", use /data merge block 0 64 0 {CustomName:'"Steve's Hopper"'}).

In Java Edition, a hopper's GUI can be "locked" (or subsequently unlocked) by setting the hopper's Lock tag with the data command. If a hopper's Lock tag is not blank, the hopper cannot be accessed except by players holding an item with the same name as the Lock tag's text. For example, to lock a hopper at (0,64,0) so that only players holding an item named "Steve's Key" can access the hopper, use /data merge block 0 64 0 {Lock:"Steve's Key"}.

Crafting ingredient[]

A hopper can be used to craft a minecart with hopper.

Name Ingredients Crafting recipe
Minecart with Hopper Hopper +

Redstone component[]

Hopper logic flowchart

Flowchart of hopper logic

While a hopper is not powered by redstone signals, it operates with three functions:

  • Collect item entities (free-floating items in the world) into its inventory from the space above it
  • Pull a single item into its inventory from a container above it
  • Push a single item from its own inventory into a container it faces

A hopper first attempts to push any items inside it. Afterward, it checks if the block above it is a type of container. If so, it attempts to pull from it. Otherwise, the hopper attempts to collect item entities. Notably, hoppers can push to and pull from other hoppers, forming hopper pipes or hopper chains, which allow transporting items across several blocks and are further discussed below.

Redstone signals[]

When a hopper receives a redstone signal (and is considered to be "activated"), all three functions stop. To avoid confusion over the terms "activated" and "deactivated", powered hoppers are often described as being locked and unpowered hoppers described as being unlocked. Hoppers can be powered by soft powered blocks, meaning a redstone dust trail pointing into a block touching the hopper locks it just as effectively as a redstone block or any other power component touching the hopper. When the hopper is unlocked during a redstone tick, it does not push or pull/collect during the same tick, but has a delay of 1 redstone tick instead.

While a locked hopper does not push or pull/collect items, it may still receive items from dispensers, droppers and other hoppers, and may have its items pulled out by another hopper beneath it. Hence, the item flow in a horizontal hopper pipe may be stopped by locking just one of the hoppers, but stopping a vertical hopper pipe requires locking two adjacent hoppers at the same time, such that both the pushing of the top one and the pulling of the bottom one are stopped.

A hopper does not output any redstone signals by itself, but its fullness can be read using a redstone comparator, which needs to be placed next to it and facing away from it. An empty hopper outputs a signal strength of 0 and a completely full hopper outputs a signal strength of 15. Notably, a single stackable item (16 or 64) outputs a signal strength of 1 and a single non-stackable item outputs a signal strength of 3.

In Java Edition, if the hopper being read is part of a horizontal hopper pipe, the comparator can individually read each item passing through the chain, because items are pushed through the hoppers one by one at a speed that is manageable by the comparator. If there is an uninterrupted stream of items, the comparator does not switch off in between items. On the other hand, in a vertical hopper pipe, some of the hoppers may never produce a reading above 0, even with a continuous stream of items, because pushes and pulls both occur in the same game tick: The hoppers' items get pulled out a single game tick after they're pushed in and this isn't measurable by a comparator, because comparators need measurements lasting at least 1.5 redstone ticks to produce a reading.

Collecting items[]

A hopper collects items dropped on top of it if the space above the hopper not occupied by a storage block. Items are gathered from the entire 1 block space above the hopper, meaning that items sitting on partial blocks such as soul sand directly above a hopper can be collected.[1] It is also possible for a hopper to collect items from inside a full, solid block, a situation that might come from items rising up through solid blocks or being summoned. Item entities are not collected when they are outside of the collection area however; for example, items on top of a stone block directly above a hopper are not collected. Collected items are placed in the leftmost empty slot of a hopper's inventory.

In Java Edition, if there is no container above the hopper, then the hopper collects dropped items in the order in which they landed on the hopper. This order is remembered even while a hopper is locked. For instance, if a hopper is locked under a carpet while a fully equipped armor stand is broken above it, then it always collects items in this order when it is unlocked: armor stand, boots, leggings, chestplates, helmets. This is due to the order in which these items land.[verify] In Bedrock Edition, hoppers do not remember the order in which items land on the hopper. Instead, hoppers with multiple dropped items above them collect the items in the order in which they entered the chunk in which the hopper is located. Items that drop from a broken armor stand are collected in a random order.[2]

Hoppers usually check for dropped items every game tick and they can collect items even before they are picked up by a player[verify] or destroyed by lava. However, in Bedrock Edition hoppers have a "collection cooldown" time. After collecting an item (or stack of items), a hopper waits 4 redstone ticks (0.4 seconds, barring lag) before attempting to collect again.

Hoppers collect groups of items all at once rather than collecting them as single items one at a time. As a result, hoppers can collect item entities much faster than they can pull items from a container. Pulling from a moving minecart with chest or minecart with hopper is even slower, since the minecart is not always above the hopper.

Pushing and pulling items[]

A hopper with a storage container above it (such as a furnace, chest, dropper, composter, or another hopper) attempts to pull from the container instead of checking for floating items above it, and hence can not collect items. A hopper always tries to push or pull items using the leftmost available slot. When a hopper is removing items from a chest, the items disappear from left to right. Similarly, when filling up a chest, the chest fills up from left to right. Hoppers prioritize pulling from the first slot of a container over pulling into the first hopper slot. If a hopper has stone in its first slot and nothing in its second while the container it is pulling from has chicken in its first slot but stone in the second, the hopper pulls the chicken from the first slot of the container into its empty second slot. However, if the hopper is unable to pull the chicken, such as if all slots are filled with stone, the hopper pulls the stone from the second slot of the container instead. Similarly, hoppers prioritize pushing from their first slot over pushing into the first slot of a container. If a hopper has stone in its first slot and chicken in its second while the container it is pushing to has chicken it its first slot but stone in the second, the hopper pushes stone from its first slot into the second slot of the container.

In Java Edition the checks done by a hopper while pulling generally require less processing than the checks done by a hopper attempting collection. Therefore, a chain of hoppers topped with storage containers rather than air/solid blocks has better performance (measured as milliseconds of processing per tick) and lower potential for processing lag. [3] The performance improvement achieved is correlated with the number of storage slots the container has. Placing composters (with no storage slots but still with custom output logic) on top of hoppers provide the greatest efficiency, while double chests actually degrade performance, even when sharing each double chest across two hoppers.[3] In Bedrock Edition a chain of hoppers with air or non-container blocks on top has better performance than a chain of hoppers topped by container blocks.[4] This may be because, even though hoppers with containers on top do not check for items, they do check for hopper-minecarts and chest-minecarts to pull from, and that involves scanning the chunk entity list.[5]


Push then Pull

Chest A is full of items while the hopper and Chest B are empty.

Item pushes and pulls are processed in the same game tick, but pushes are processed before pulls. In the schematic, the empty hopper first pulls an item from chest A as it cannot push anything into chest B. After the cooldown, the hopper first pushes its item into chest B before pulling another item from chest A, both pushing and pulling in the same tick, and the process repeats. The hopper stops pulling when A is empty, and stops pushing when B becomes full.

Hoppers also have a "transfer cooldown" time. After pulling and/or pushing items, a hopper waits 4 redstone ticks (0.4 seconds, barring lag) before pulling or pushing again (a transfer rate of 2.5 items per second, barring lag). A hopper that has an item pushed into it from another hopper also starts a 4 tick cooldown period, regardless of whether it pushed or pulled items itself. Item entities can be collected at any time without affecting the transfer cooldown time. The transfer cooldown and the Bedrock Edition collection cooldown are independent of each other.

Container interactions[]

Some containers interact with hoppers in specific ways:

Hoppers above composters can push compostable items into the composter's top face with a chance of increasing the level of the composter as if the player used the item on the composter. Items that are not compostable cannot be pushed into the composter. Hoppers below the composter can pull bone meal when the composter is in stage 8, emptying the composter and resetting it to stage 0. Hoppers to the side of a composter do not interact with it.
Brewing Stand
A working hopper on the top face of a brewing stand deposits only into the ingredient slot and it can push only valid brewing ingredients. A hopper on side face of a brewing stand can deposit only blaze powder or filled bottles into the three brew slots. A hopper underneath a brewing stand always extracts from the three brew slots, whether brewing is finished or not—The hopper must be locked to allow potions to finish brewing.
Trapped Chest
Large chests and large trapped chests are treated as a single container: A hopper depositing into a large chest fills up the entire chest and a hopper underneath a large chest empties the entire chest. Trapped chests being accessed by a player lock any adjacent hoppers, per the standard behavior of a hopper next to an active power source.
Blast Furnace
A working hopper pointing into top of a furnace deposits only into the ingredient slot. It can push any item, including items that can't be smelted by the furnace. A hopper pointing into the side of a furnace deposits into the fuel slot, and only items that are usable as fuel. A hopper below a furnace pulls everything from the output slot and empty buckets from the fuel slot left over from using lava buckets as fuel. When a hopper removes items from a furnace, the experience points are 'stored' in the furnace until a player removes at least one smelted item, or the furnace block is broken.
A sequence of three or more hoppers, each pushing items into the next, is called a hopper pipe. Working horizontal hopper pipes simply push items into each other at the expected rate of 2.5 items per second, but vertical hopper pipes are more complicated, as the hoppers are trying both to pull and to push. When a vertical pipe pulls from a single container, it simply transfers items at 2.5 items per second because the transfer rate is limited by the first hopper pulling items from the container. If a stack of items is in a vertical pipe, the items can be transferred twice as fast, because the hopper with the item stack is pushing items down while the hopper below it is also pulling items down.
Minecart with Chest
Minecart with Hopper
Unlocked hoppers fill chest minecarts and hopper minecarts if any part of the entity's hitbox is within the hopper's target block-space. Hopper minecarts try to pull items from the hopper at high speed. Hoppers can pull items from minecarts above them so rails can be placed directly on the top faces of a hoppers. If a detector rail is in the right position, it could lock the hopper per standard redstone-hopper behavior.
Hoppers can insert music discs into jukeboxes, and extract the music discs after they finish playing.
Shulker Box
Hoppers cannot put shulker boxes into other shulker boxes. This allows for the creation of certain item filters.
Otherwise, hoppers interact with shulker boxes normally.
Hoppers cannot remove or place books on lecterns. The redstone pulse emitted from a lectern when a page is turned can temporarily lock hoppers.
Ender Chest
Hoppers cannot interact with ender chests in any way.
Boat with Chest
Hoppers interact normally with barrels, dispensers, droppers, and boats with chests.
Chiseled Bookshelf
Hoppers and minecart with hoppers can insert and remove books from the bookshelf. As with any other container, items are taken from the first slot that has an item that can fit in the hopper and are inserted into the first empty slot.



Java Edition:

SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
Block brokenBlocksOnce the block has brokenblock.metal.breaksubtitles.block.generic.break1.01.216
Block placedBlocksWhen the block is placedblock.metal.placesubtitles.block.generic.place1.01.216
Block breakingBlocksWhile the block is in the process of being brokenblock.metal.hitsubtitles.block.generic.hit0.250.7516
None[sound 1]Entity-DependentFalling on the block with fall damageblock.metal.fallNone[sound 1]0.51.2516
FootstepsEntity-DependentWalking on the blockblock.metal.stepsubtitles.block.generic.footsteps0.151.516
  1. a b MC-177082

Bedrock Edition:

SoundSourceDescriptionResource locationVolumePitch
BlocksOnce the block has brokendig.stone1.01.1-1.2
BlocksWhen the block is placeduse.stone1.01.2-1.25
BlocksWhile the block is in the process of being brokenhit.stone0.30.75
PlayersFalling on the block with fall damagefall.stone0.41.0
PlayersWalking on the blockstep.stone0.351.0
PlayersJumping from the blockjump.stone0.121.0
PlayersFalling on the block without fall damageland.stone0.221.0


Java Edition:

SoundSubtitlesSourceDescriptionResource locationTranslation keyVolumePitchAttenuation
Chest locked[sound 1]BlocksWhen a player attempts to open a hopper locked using the  Lock tagblock.chest.locked[sound 1]subtitles.block.chest.locked[sound 1]1.01.016
  1. a b c MC-98316 — Wrong subtitles caused by missing distinction

Bedrock Edition: None

Data values[]


Java Edition:

NameIdentifierFormTranslation key
HopperhopperBlock & Itemblock.minecraft.hopper
Block entityhopper

Bedrock Edition:

HopperIdentifierNumeric ID FormItem ID[i 1]Translation key
Blockhopper154Block & Ungiveable Item[i 2]item.hoppertile.hopper.name
  1. ID of block's direct item form, which is used in savegame files and addons.
  2. Unavailable with /give command
NameSavegame ID
Block entityHopper

Block states[]

See also: Block states

Java Edition:

Name Default value Allowed values Description
True if hopper can move items to and from its inventory.
When the hopper is being powered by redstone current, this is set to false.
The direction the hopper's output points.
The hopper pushes items into containers in this direction only.

Bedrock Edition:

NameMetadata Bits Default value Allowed valuesValues for
Metadata Bits
The direction the hopper's output points.
The hopper pushes items into containers in this direction only.
  • 0: Output facing down
  • 1: (unused)
  • 2: Output facing north
  • 3: Output facing south
  • 4: Output facing west
  • 5: Output facing east
1 if hopper cannot move items to and from its inventory.
When the hopper is being powered by redstone current, this is set to true.

Block data[]

A hopper has a block entity associated with it that holds additional data about the block.

Java Edition:

  • Block entity data
    • Tags common to all block entities
    •  CustomName: Optional. The name of this container in JSON text component, which appears in its GUI where the default name ordinarily appears.
    •  Items: List of items in this container.
      • : An item, including the slot tag.
        • Tags common to all items
    •  Lock: Optional. When not blank, prevents the container from being opened unless the opener is holding an item whose name matches this string.
    •  LootTable: Optional. Loot table to be used to fill the hopper when it is next opened, or the items are otherwise interacted with. Note that the loot table is used when the hopper tries to push items, when it's enabled.[note 1]
    •  LootTableSeed: Optional. Seed for generating the loot table. 0 or omitted uses a random seed.[note 1]
    •  TransferCooldown: Time until the next transfer in game ticks, naturally between 1 and 8 or 0 if there is no transfer.
  1. a b Both loot table tags are removed once the items have been generated.

Bedrock Edition:

See Bedrock Edition level format/Block entity format.


Icon Achievement In-game description Actual requirements (if different) Gamerscore earned Trophy type (PS4)
PS4 Other
Freight StationUse a Hopper to move an item from a Chest Minecart to a Chest.15GBronze
Smelt Everything!Connect 3 Chests to a single Furnace using 3 Hoppers.Be within the range of three chests connected to a Furnace with 3 Hoppers.15GBronze



Java Edition
1.513w01aHopper (D) JE1 Hopper (N) JE1 Hopper (E) JE1 Hopper (S) JE1 Hopper (W) JE1 Hopper (U) JE1 Added hoppers.
Hoppers with the damage value of 1, which are obtainable only through world editing, visually point in no direction. They functionally push items upward, however the behavior is inconsistent.
Hopper (item) JE1 There is currently a temporary "work in progress" sprite for hoppers in the inventory.
Hoppers can be crafted from a chest and stone blocks with the following recipe:
13w01bRails can now be placed on top of hoppers.
Hoppers no longer load items into minecarts without chests.
13w02aHopper (item) JE2 BE1 The inventory sprite of hoppers has been changed.
Hopper (item) 13w02a However, the item of hoppers appears bugged if dropped or placed in an item frame.[6] This may be due to the game attempting to pull the item sprite from the hopper's equivalent spot in stitched_terrain.png (compare files: terrain, items), a region which contains parts of the oak planks, end stone and iron bars textures.
Applying a redstone signal to a hopper now deactivates the hopper until the signal is removed.
Hoppers can no longer be used as fuel in a furnace.
Hoppers are now crafted using 5 iron ingots rather than 5 stone blocks.
Hoppers now pull only from the output slot of furnaces.
Hoppers now output 1 signal strengh per 1/3 of a stack (21 items) when interacting with a redstone comparator.
Hopper (D) JE2 Hopper (N) JE2 Hopper (E) JE2 Hopper (S) JE2 Hopper (W) JE2 Hopper (U) JE2 The texture of hoppers has been given a unique texture. Hoppers no longer use the cauldron texture. Note that the top texture does not rotate with facing direction.
The preferred tool is now a pickaxe, rather than the axe.
13w02bHoppers now treat large chests properly, no longer needing two hoppers connected to them to fill up the entire inventory.
Hoppers no longer take items from containers when powered via a redstone current.
Hoppers now display correctly as a dropped or frame item.
13w03aHoppers are now used to craft a minecart with hopper.
Hoppers can now empty a minecart with hopper.
13w04aThe transfer rate of hoppers has been changed from 7 to 8 game ticks per item (2.5 items per second).
1.5.1preHoppers now take empty buckets out of furnace fuel slots.
1.7.2releaseHopper (D) JE3 Hopper (N) JE3 Hopper (E) JE3 Hopper (S) JE3 Hopper (W) JE3 Hopper (U) JE3 The UV of all blocks is broken on certain sides as a result of MC-37106 (few cases are listed on the wiki so far - this is a future project). This includes hoppers.
1.7.413w47aHopper (D) JE4 Hopper (N) JE4 Hopper (E) JE4 Hopper (S) JE4 Hopper (W) JE4 Hopper (U) JE4 MC-37106 has been fixed, reverting hoppers to their pre-1.7.2 appearences.
13w48aThis version fixed MC-190, which hoppers were allegedly subject to since their introduction. However, a comparison of hopper UV in 13w02a and 14w08a failed to reveal any visible differences, even accounting for the example images on the ticket. More research is needed on this matter.
1.8?Hoppers no longer generate multiplayer lag when idle.
14w10aHopper (D) JE5 Hopper (N) JE5 Hopper (E) JE5 Hopper (S) JE5 Hopper (W) JE5 Missing Model JE2 Hoppers now use block models rather than having a hardcoded shape. This brings multiple changes: the inside texture now rotates with the hopper rather than being constant, the inside planes of hoppers are now shaded/have ambient occlusion, and some minor UV changes have occurred, notably on the smallest cuboid. The directionless hopper also no longer has a model.
14w26aThe directionless hopper has been removed.
14w31aHoppers now no longer use wood sounds.[7]
1.915w33cA hopper now generates as a part of the end ship in the end cities.
15w41aEnd ships no longer contain a hopper.
15w43aLoot tables have been added; hoppers can now use loot tables.
15w43cHopper (D) JE6 Hopper (N) JE6 Hopper (E) JE6 Hopper (S) JE6 Hopper (W) JE6 The UV on the hopper model has changed, resulting in minor differences, particularly to the smallest cuboid. This is likely due to the fix for MC-73401.
15w44aHopper (D) JE7 Hopper (N) JE7 Hopper (E) JE7 Hopper (S) JE7 Hopper (W) JE7 A mapping issue introduced in the previous snapshot for the sides of the large funnel region has been fixed. This may be due to the fix for MC-50344.
1.9.1pre1A hopper can now push into and pull items from a blocked chest.
1.1317w47aPrior to The Flattening, this block's numeral ID was 154.
1.1418w43aHopper (D) JE8 Hopper (N) JE8 Hopper (E) JE8 Hopper (S) JE8 Hopper (W) JE8
Hopper (item) JE3 BE2 The textures of hoppers have been changed.
19w03cHoppers now use correct cullface arguments, and some redundant faces have also been deleted.
1.1922w13aHoppers no longer drop when breaking a minecart with hopper.
1.19.423w07aHoppers can now interact with jukeboxes.
Pocket Edition Alpha
v0.14.0build 1Hopper (D) JE2[verify]
Hopper (item) JE2 BE1 Added hoppers. Upward hoppers also exist.
v0.15.0build 1Hoppers can now be moved by pistons.
Bedrock Edition
1.10.0beta (D) BE Hopper (N) BE Hopper (E) BE Hopper (S) BE Hopper (W) BE Hopper (U) BE
Hopper (item) JE3 BE2 The textures of hoppers have been changed.
1.19.70beta can now collect items through all blocks that have a lower height than a full block.
Legacy Console Edition
TU19CU7 1.12 Patch 11.0.1Hopper (D) JE2[verify]
Hopper (item) JE2 BE1 Added hoppers.
1.90 Hopper (D) JE8[verify]
Hopper (item) JE3 BE2 The textures of hoppers have been changed.
1.91 Hoppers can now fill composters.
New Nintendo 3DS Edition
0.1.0Hopper (D) JE2[verify]
Hopper (item) JE2 BE1 Added hoppers.


Issues relating to "Hopper" are maintained on the bug tracker. Report issues there.


  • A real-world hopper is a large, pyramidal or cone-shaped container used in industrial processes to hold particulate matter, like dust, gravel, nuts, seeds, etc., and can then dispense them from the bottom.
  • A hopper can transfer 9000 items per hour, or 150 items per minute.