Tetris Downstacking: How to Dig Out of Garbage
Garbage is not one obstacle, it is two. Where the hole column sits from row to row decides whether six lines cost you one piece or six, and TETR.IO scores the lines you dig out at exactly the same rate as the lines you send.

Six garbage lines can cost you one piece or six pieces. Nothing about the count changes between those two cases — only where the hole sits from one row to the next. That single variable is what separates a free Quad from a long dig, and unlike most of what happens on a Tetris board, it is not something you control.
You can, however, look it up. TETR.IO names both cases in its own glossary, publishes the formula that scores your digging, and lets you dial the difficulty up and down in a custom room. tetris.wiki records what each older game does with the hole column, down to the odds. Here is the whole receiving side of the board.
A dug line and a sent line score the same
TETR.IO shows you three numbers after a match: APM, PPS and VS. The first two are self-explanatory. VS — Versus Score, in the official API's wording — is the one people quote without knowing what is inside it.
The Alpha 2.2.10 patch notes, dated 16 April 2020, publish the formula outright:
VS = ((ATTACK + GARBAGE_LINES_CLEARED) / PIECES) × PPS × 100
PPS is pieces divided by seconds, so the pieces term cancels straight out and what is left is simply:
VS = (attack sent + garbage lines cleared) per 100 seconds
Read that again, because it is the whole argument for taking downstacking seriously. A garbage line you dig out counts for exactly as much VS as a line of attack you send. They are added together, unweighted, inside the same bracket. The wiki's own statistics page describes VS as a metric covering "attack, speed, and garbage usage" — the third term is not a rounding error, it is a third of the definition.
That also means the split is recoverable. APM is attack per minute, so attack per 100 seconds is APM × 100 / 60. Subtract that from VS and the garbage half falls out on its own:
garbage lines cleared per minute = 0.6 × VS − APM
The relation is linear, which matters more than it sounds: it holds on averages exactly as it holds on a single game. Feed it the rank averages TETR.IO publishes and you get a figure the game does not display anywhere.
How much of a TETR.IO match is digging
The Tetra Channel API exposes average APM, PPS and VS for every rank at /labs/league_ranks, regenerated every 30 minutes. The read below was taken 30 August 2026, when 34,077 players held a letter rank. The last two columns are derived from the formula above, not published.
| Rank | Avg APM | Avg VS | Garbage lines cleared per min | Dig share of VS |
|---|---|---|---|---|
| X+ | 173.9 | 347.5 | 34.6 | 17% |
| X | 132.6 | 269.5 | 29.1 | 18% |
| U | 97.0 | 199.8 | 22.9 | 19% |
| SS | 72.0 | 150.1 | 18.0 | 20% |
| S+ | 56.4 | 119.1 | 15.0 | 21% |
| S | 46.6 | 99.2 | 12.9 | 22% |
| S- | 39.3 | 84.2 | 11.2 | 22% |
| A+ | 33.3 | 71.5 | 9.6 | 22% |
| A | 28.5 | 61.3 | 8.3 | 23% |
| A- | 24.8 | 53.3 | 7.2 | 22% |
| B+ | 21.7 | 46.7 | 6.3 | 22% |
| B | 19.2 | 41.1 | 5.5 | 22% |
| B- | 16.8 | 35.8 | 4.7 | 22% |
| C+ | 14.9 | 31.4 | 4.0 | 21% |
| C | 12.9 | 26.9 | 3.3 | 20% |
| C- | 10.9 | 22.5 | 2.6 | 19% |
| D+ | 9.4 | 19.5 | 2.3 | 20% |
| D | 6.9 | 14.1 | 1.6 | 19% |

Rounded to whole percent, every one of those eighteen rows sits between 17% and 23%. Digging is not a beginner tax that top players train out of — an X+ average still clears 34.6 garbage lines a minute, more than twenty times what a D average clears. What changes up the ladder is the volume, not the proportion.
The per-piece view is the stranger one. Divide the garbage column by pieces placed and X+, X and U land on 0.171, 0.171 and 0.165 garbage lines dug per piece — effectively flat across the three highest ranks, while attack per piece across those same three rows runs 0.696 at U to 0.862 at X+. At the top of the ladder the offence separates and the digging does not.
None of this makes VS a target to farm. It is an average of a whole band, and the wiki's statistics page warns that outliers cluster at the edges of ranks. Treat the row as a benchmark. For what the letters themselves mean and what they cost in TR, our TETR.IO ranks guide has the ladder.
Cheese and clean garbage are two problems
TETR.IO's glossary splits incoming garbage into two named kinds, and the distinction is the hole column, not the line count:
- Clean garbage — garbage with few column changes. It is what spikes are built out of.
- Messy garbage, AKA cheese — garbage with many column changes. It is what combo downstacking and n-wide setups send.
Six clean lines are a well. You drop an I piece down the column every hole shares and take four of them in one placement. Six lines of cheese are six separate one-row problems, each needing a piece shaped to reach a different column, and two of them only come out together when their holes happen to sit side by side.
That is why the same six lines can cost one piece or six, and it is why the two kinds want opposite responses. Clean garbage rewards patience: leave it, build on top, and cash it with a Quad. Cheese punishes patience, because every row you add over a scattered hole is another row you have to remove later to reach it.
The distinction runs deep enough that TETR.IO's own wiki defines whole playstyles by it. InfDS — infinite downstack — is defined as winning by sending large amounts of cheese and grinding an advantage from downstacking, and is loosely identified by a very high VS-to-APM ratio. Opener play is the mirror image: upstacking, ending rounds with offence before ever having to dig, identified by a high APM-to-VS ratio. Hybrid switches between them to counter the opponent. Those are the wiki's categories, and they are worth knowing because they tell you what the person across from you is trying to do to your board.
Where the hole goes, game by game
There is no Guideline rule fixing how the hole column moves. Every game picks its own, and tetris.wiki records the differences.
| Game | What the hole column does | What that means when you dig |
|---|---|---|
| Tetris Worlds | Fully random, chosen fresh each row | Aligned Double 1 in 10, Triple 1 in 100, Quad 1 in 1,000 |
| Tetris DS | Semi-random; tetris.wiki's empirical figure is about 72% aligned to at least a Double | Mostly stackable — plan for Doubles and better |
| Tetris (Game Boy) | Switches column roughly every nine rows | Long clean runs broken by a step |
| Tetris The Grand Master Ace | Can send more than one gap per row | A single row may need two clears' worth of shaping |
| TETR.IO, standard multiplayer | Change-on-attack, with separate in-attack and change-on-attack messiness values | One attack normally shares a column; the next one may not |
| TETR.IO Quick Play | Modified from change-on-attack; each line can change column, and the chance is multiplied 2.5x between attacks | Cheesier by design than a 1v1 |

The Tetris Worlds numbers are not a quirk, they are arithmetic you can check. A Guideline playfield is ten columns wide, so a fresh uniform pick repeats the previous row's column one time in ten. Square that for a third row and cube it for a fourth. Any game that hands you truly random garbage is handing you a board where a free Quad shows up roughly once every thousand lines.
Two more entries from that page are worth carrying. tetris.wiki records Tetris Worlds as lacking retaliation garbage entirely, meaning clears made from garbage send nothing back — which turns digging there into pure defence with no offensive payoff. And Super Tetris 3 runs a 1:1 clear-to-send ratio rather than the Guideline table, which changes the value of a Single completely.
The same variable read from the other end — how messy the garbage you send arrives — is covered in the openers guide, which has the Tetris Friends and Puyo Puyo Tetris behaviour that decides whether an opener's damage lands clean or scattered.
TETR.IO's messiness is a setting, not a constant. Since Alpha 6.4.3 on 9 March 2024 custom rooms expose it as two separate knobs — change-on-attack messiness and in-attack messiness — so you can make garbage arrive as clean wells or as pure cheese on purpose. Quick Play's deviation from the default is covered in our Quick Play guide.
Garbage waits for a placement that does not clear
The rule that governs when garbage actually lands is a timing rule, and tetris.wiki states it plainly: pending garbage is added to the bottom of the playfield on the receiving player's next piece drop or non-line-clear.
Clear a line and the pending garbage stays pending for that placement. Place a piece without clearing and it comes in.
Two consequences follow, and they are the difference between recovering and drowning:
- A combo is a stay of execution. As long as every placement clears, the queue does not empty onto your board. This is the mechanical reason a combo is worth more when you are under pressure than the attack table alone suggests.
- The placement you stop clearing on is the one that decides the height you dig from. If you know a large amount is pending, spending your last clearing placement to lower the stack matters more than spending it to send.
Clearing lines while garbage is still pending also cancels it, which the scoring and attack guide covers from the sending side. What it does not cover is what happens once cancelling is off the table, which is where this guide starts.
Your cancel window is the attack's travel time
In TETR.IO an attack is not instant. It travels, and that travel is your window to answer it.
The window is not decoration. Since Alpha 6.1.0 on 28 September 2021, with passthrough disabled, garbage sent to you appears in your queue transparently the moment it leaves the opponent. During travel it can be cancelled but is not yet tankable; once the spark reaches your screen it activates and becomes tankable. Passthrough has been off by default in every game mode since Alpha 6.1.2, and Alpha 6.3.3 closed the networking-lag version of it with a feature called Zero Passthrough.
How long the window runs is the part to read carefully, because the sources do not line up. The Alpha 4.2.0 patch notes of 30 July 2020 introduced a travel speed that scales with the size of the attack:
| Attack size | Travel time | In milliseconds |
|---|---|---|
| Small (1–2 lines) | 20 frames | 333 ms |
| Medium (3–5 lines) | 30 frames | 500 ms |
| Large (6+ lines) | 40 frames | 666 ms |

Now read the rest of that patch note, because it carries three qualifications the table does not. It calls the change experimental. It puts it behind a room setting you can switch off. And it says in bold that it does not apply to TETRA LEAGUE. No later patch note revisits garbage travel speed at all, and TETR.IO's own wiki — citing that same Alpha 4.2.0 entry — still describes garbage as taking a flat 20 frames, 0.333 seconds, to reach you.
So take the scaling as documented behaviour for rooms running it, not as a ranked-play constant. In Tetra League the only figure any source supports is the flat 333 ms, and that is the number to plan your cancels around.
The same patch that made incoming garbage visible also made its layout visible in the garbage bar. You can see whether what is coming is a clean well or a scatter before it lands, which is the input that decides where you leave a column open.
What changes when the holes are not yours
Digging garbage is not the same job as repairing your own stack. Our stacking fundamentals guide covers the clean-board rules — shallowest hole first, never build over an unresolved hole, never make a second hole to reach the first — and those still apply. What follows is the part that only applies when the holes were put there by somebody else.
The game pays you extra for digging with your best clears. Since Beta 1.3.0 on 22 September 2024, TETR.IO gives Quads and Spins that clear garbage a flat +1 line, unaffected by combo or back-to-back multipliers. A Quad that eats four garbage rows is worth more than a Quad that eats four of your own.
Spin digging is a named skill, not an improvisation. TETR.IO's Escape Artist, a Quick Play achievement, was reworked in Beta 1.7.0 on 21 March 2025 to be scored by garbage lines cleared using Spins. When a hole sits under an overhang, a rotation into it clears a row you could not reach by dropping — and the game keeps score of exactly that.
Both boards get the same garbage. Since Alpha 2.2.5 on 10 April 2020, garbage columns in TETR.IO multiplayer are seeded and synchronised across all players. The sequence your opponent is digging is the sequence you are digging.
There is a ceiling on what can land at once. The garbage cap — the amount that can enter your field in one go — has been dynamic since Infdev 0.4.2, and it is drawn into the garbage meter as a horizontal line. Pending garbage above that line is not arriving on this placement.
One warning that belongs here: in Quick Play, cancelling instead of clearing has a mechanical cost. Cancelling Sickness builds as you cancel, and once enough of it accrues your bags are increasingly modified away from standard 7-bag. Clearing garbage is the only thing that resets it to zero; tanking garbage, clearing Quads and clearing Spins in different columns reduce it without clearing it. The full rule is in the Quick Play guide; the short version is that the game is built to stop you from cancelling your way out of ever digging.
Drills that isolate downstacking
Downstacking is unusually easy to practise in isolation, because two clients ship modes that do nothing else.
| Drill | Where | What it isolates |
|---|---|---|
| Cheese race, 10 / 18 / 100 lines | Jstris | Raw dig speed against pre-laid garbage, with leaderboards |
| Cheese race, infinite | Jstris | Endurance; endless, so no leaderboard exists for it |
| Survival | Jstris | Digging while garbage rises at 1 line per second |
| Map Downstack | Jstris | Clearing a fixed board, sometimes to a perfect-clear finish |
| Solo custom with cheese and survival | TETR.IO | Same drill inside TETR.IO's own handling, since Alpha 6.3.2 |
| Custom room messiness | TETR.IO | Dialling cheese up or down deliberately, since Alpha 6.4.3 |
| Double Hole Garbage mod | TETR.IO Quick Play | Garbage lines that can spawn with two holes |
Two notes on the Jstris side. Every cheese race length is playable under the MPH ruleset, which strips previews and hold and swaps the randomiser for a memoryless one, so you are digging blind. Under the Pentomino ruleset only the 10-line and infinite cheese races are available. TETR.IO's solo custom games gained cheese and survival mechanics in Alpha 6.3.2 on 12 February 2023, along with a GARBAGE LINES CLEARED clear objective and counter, so you can score the drill rather than eyeball it.
If you are choosing where to train, the which Tetris to play guide compares the clients on price and platform.
Quick Action Checklist
- Look at the hole column before you look at the line count. Clean garbage and cheese are different jobs.
- Leave clean garbage alone and take it with a Quad; attack scattered cheese immediately, because every row you stack on it costs another clear.
- Read the incoming layout in TETR.IO's garbage bar during travel — you can see the shape before it lands.
- Remember that pending garbage enters on your next placement that does not clear a line, so a combo buys you time.
- Cancel while the attack is still travelling — it can be cancelled up until its spark lands. Budget the flat 333 ms unless you are in a room running Alpha 4.2.0's size-scaled travel, where 6+ lines buys 666.
- Dig with Quads and Spins where you can — TETR.IO adds a flat +1 to both when they clear garbage.
- Work out your own dig rate with
0.6 × VS − APMand compare it to your rank's row above. - Run a cheese race before you queue. Ten lines is enough to warm up the one versus skill that needs no opponent to drill.
Frequently Asked Questions
Keep Reading
- tetris.wiki — Garbage: receiving queue timing, per-game hole alignment rates and retaliation garbage
- Wiki for TETR.IO — Terms: downstack, clean garbage, messy garbage (cheese), and the Opener / InfDS / Hybrid playstyles
- TETR.IO — official patch notes (Alpha 2.2.5, 2.2.10, 4.2.0, 6.1.0, 6.3.2, 6.4.3, Beta 1.3.0, Beta 1.7.0)
- TETR.IO Tetra Channel API — average APM, PPS and VS per rank, read 30 August 2026
- TETR.IO — official API documentation (VS defined as versus score; league ranks field definitions)
- Wiki for TETR.IO — Statistics: VS as a metric covering attack, speed and garbage usage
- tetris.wiki — Jstris: Cheese, Survival and Map Downstack modes and their line counts
- Wiki for TETR.IO — Mechanics: garbage travel, passthrough removal and the Garbage Special Bonus
Related Guides

TETR.IO Ranks Explained: TR, Percentiles and Cutoffs
A Tetra League letter is not a skill score, it is a slice of the leaderboard — and TETR.IO publishes exactly how big each slice is, what TR it currently costs, and how fast the people inside it play.

Tetris All-Spin Explained: S, Z, L, J and I Spins
A Z piece rotated into a slot nothing else reaches is either a scored spin or an ordinary Double, and which one it is has nothing to do with you. It is a setting, and most Tetris games have it switched off.

TETR.IO Quick Play Explained: The Zenith Tower, Climb Speed, and HYPERSPEED
Quick Play looks like a battle royale and scores like a speedrun. There is no round to win and nobody to outlast — only altitude, and altitude is bought mostly with the lines you send at other people.

The Tetris Effect Zone Guide: Ultimatris, the Attack Table, and When to Press It
Zone is sold as a get-out-of-jail button, and used as one it pays a fraction of what it could. The published Zone Bonus Attack table says the same lines can be worth 40 garbage rows or 80, depending only on when you pressed it.

Tetris Stacking Fundamentals: Build a Board That Wins
Most players do not lose to speed. They lose to a board they built themselves three minutes earlier. Here is how stacking actually works in modern Guideline Tetris, and the habits that stop you from burying your own well.

Tetris Openers: TKI-3, DT Cannon and Albatross
Your first seven pieces decide which opener is even legal. Memorising one build and forcing it every game is why your opening dies half the time. Here is the actual decision tree, from the I-piece TKI family down to the SZT bags nobody wants.