A piston is a block that pushes or pulls other blocks when powered by redstone
In Minecraft, a piston is a mechanical block that extends and retracts when you send it a redstone signal. When powered, the piston head moves forward one block, pushing whatever is in front of it. A sticky piston does the same thing but also pulls the block back when it retracts. Pistons are the foundation of most moving contraptions in the game — doors, elevators, bridges, and sorting systems all rely on them.
You craft a piston from wood planks, cobblestone, iron ingots, and redstone dust. The recipe is the same in Java Edition and Bedrock Edition, though the exact layout matters. Once you place a piston, it does nothing until redstone power reaches it. The direction it faces when you place it determines which way it will push.
Key Takeaways
- A piston requires three wood planks, four cobblestone blocks, one iron ingot, and one redstone dust, arranged in a specific pattern on a crafting table.
- The piston head points in the direction you are facing when you place it, so rotate yourself before placing to aim it correctly.
- Redstone power can reach a piston through a wire on the same block, through a repeater, or through a block that is directly adjacent to it.
- A sticky piston pulls the block back when power turns off, while a regular piston leaves the pushed block behind.
- Pistons cannot push obsidian, bedrock, end portal frames, or other pistons, so plan your design around those limits.
Crafting a piston on a crafting table
Open your crafting table and place the materials in this exact pattern. The top row gets three wood planks (any type — oak, spruce, birch, all work the same). The middle row gets one cobblestone on the left, one iron ingot in the center, and one cobblestone on the right. The bottom row gets one cobblestone on the left, one redstone dust in the center, and one cobblestone on the right. This leaves the top-right and bottom-right corners empty.
Once you arrange them correctly, the piston appears in the result slot. Drag it into your inventory. If nothing appears, check that you used the right materials — wood planks (not logs), regular cobblestone (not mossy or deepslate variants), and raw redstone dust (not redstone ore or redstone blocks).
Placing a piston and aiming it in the right direction
Before you place the piston, face the direction you want it to push. If you want it to push blocks to your right, turn to face right. If you want it to push blocks upward, look up. The piston head will point in the direction you are facing when you place it.
Hold the piston in your hand and right-click (or use your place block button) on the ground or on another block. The piston appears with its head facing the way you were looking. If you place it facing the wrong direction, break it and place it again — there is no way to rotate a piston after placement without breaking it.
Powering a piston with redstone
A piston extends when redstone power reaches it. Power can arrive in three ways: through a redstone wire placed on top of the piston block itself, through a redstone repeater pointing at the piston, or through a powered block directly next to the piston. The piston does not care which direction the power comes from — it will extend as long as power is present.
When power turns off, the piston retracts. A regular piston leaves the pushed block where it ended up. A sticky piston pulls the block back with it. To make a sticky piston, use the same recipe but replace the iron ingot with a slimeball. Slimeballs drop from slimes, which spawn in swamps or deep caves.
What pistons can and cannot push
Pistons can push most blocks — dirt, stone, wood, sand, gravel, and many others. They cannot push obsidian, bedrock, end portal frames, reinforced deepslate, or other pistons. They also cannot push blocks that are already being pushed by another piston. If a piston tries to push a block it cannot move, the piston still extends but the block stays in place.
Sticky pistons have an additional limit: they can only pull one block. If a sticky piston extends and pushes a block, then retracts, it pulls that one block back. If there is a chain of blocks behind it, only the closest one comes back — the rest stay where they are.
Building a straightforward piston door
A basic piston door uses two pistons side by side, each pushing a block of wood or stone. Place two pistons next to each other, both facing outward (away from each other). Connect both pistons to the same redstone wire or repeater. When you power the wire, both pistons extend at the same time, pushing their blocks outward and creating an opening. When power turns off, they retract and the blocks close the gap.
To make the door open and close with a button, place a redstone wire from your button to both pistons. A single button press sends a pulse of power through the wire, extending the pistons once. You will need a redstone repeater set to a longer delay if you want the door to stay open for a few seconds before closing automatically.
Troubleshooting pistons that do not move
If a piston does not extend when you power it, check that redstone power is actually reaching it. Use redstone dust to trace the path from your power source to the piston — the dust should light up when powered. If the dust is dark, the power is not flowing. Check that your redstone wire is continuous and that your power source (button, lever, or repeater) is actually activated.
If the piston extends but does not push the block, the block may be one that pistons cannot move. Obsidian, bedrock, and end portal frames are immovable. If the piston is trying to push a chain of blocks, it can only push up to 12 blocks at once in Java Edition (the limit is lower in Bedrock). If you are pushing more than that, the piston will extend but nothing will move.
Frequently Asked Questions
What is the difference between a regular piston and a sticky piston?
A regular piston pushes blocks when it extends and does nothing when it retracts — the pushed block stays where it ended up. A sticky piston pushes blocks the same way but also pulls the closest block back when it retracts. Sticky pistons are made by replacing the iron ingot in the recipe with a slimeball.
Can a piston push another piston?
No. Pistons cannot push other pistons, even if the second piston is not powered. If a piston tries to push another piston, it will extend but the second piston will not move. You can use sticky pistons to pull unpowered pistons, but pushing is not possible.
How many blocks can a piston push at once?
In Java Edition, a piston can push up to 12 blocks in a line. In Bedrock Edition, the limit is 12 blocks as well. If you try to push more than that, the piston extends but the blocks do not move. Slime blocks and honey blocks can be pushed together as a group, which helps you move larger structures.
Why is my piston extending but not pushing the block in front of it?
The block in front may be immovable — obsidian, bedrock, and end portal frames cannot be pushed. You may also be pushing more than 12 blocks at once, or the piston may be trying to push another piston. Check what block is in front and whether it is on the list of blocks pistons cannot move.
Can I rotate a piston after I place it?
No. Once placed, a piston faces the direction you were looking when you placed it, and there is no way to rotate it. If you need it to face a different direction, break it and place it again while facing the correct way.