This census collects one measured droop reading per graphics card, in millimetres, with the card’s length, mounting, support, months installed and slot type. Per-model distributions publish once a model has five unsupported horizontal rows. It opens at zero rows; a level card is a first-class report.
By LK Wood IV · Published 2026-09-12 · ~5 min read · St. Louis County, MO
The short version
“How much GPU sag is too much” is answered on every forum with a feeling and on no page with a measurement. As of a September 2026 check I could not find a dataset anywhere that records how far real cards droop, in millimetres, next to the card’s length, the mounting and the months it had been installed. This page opens that census. One row is one card somebody put a ruler on. Per-model distributions publish once a model has enough unsupported horizontal readings, and the page never publishes a verdict.
The raw data, schema, intake form and validator live in the open repository: github.com/iBlessi/gpu-sag-census (CC BY 4.0).
If you are here because your card looks like it is about to snap off the slot, the diagnosis, the fixes in order and the RMA rule are on the GPU sag guide. This page is the measurement.
Why distributions, never verdicts
Droop is a lever-arm effect: the card hangs from the PCIe slot and the bracket screws at one end, the cooler mass sits along its length, and the far end is free. How far it drops depends on the card’s length and mass, the slot and the board it is soldered to, how long the card has hung there, and what the machine went through in a shipping box. Two owners of the same model in different cases will read different numbers, and one photo of one card proves nothing about the model.
So the per-model answer is never “the RTX 4090 sags” or “it doesn’t.” It is a distribution: out of n measured cards, the median droop, the smallest and largest reading, and the share of cards in each band. That is what this page publishes, and always with the sample size in the same breath as the number.
The schema
One row = one physical card, measured once, in one mounting. Full machine-readable definitions live in schema.json.
| Field | Required | What it records |
|---|---|---|
card_brand | yes | As printed on the box: ASUS, Gigabyte, NVIDIA |
card_model | yes | Model line, specific enough to group units: “ROG Astral RTX 5080 OC”, “Gaming OC RTX 4090” |
exact_sku | no | Exact manufacturer SKU when known |
card_length_mm | yes | Length from the manufacturer’s spec page, rounded to a whole mm |
card_slots | no | Slot thickness as the manufacturer states it: 2, 2.5, 3, 3.5, 3.8 |
mount | yes | horizontal (straight into the board) or vertical (on a riser) |
support | yes | What was holding the far end up when measured: none, bundled-holder, aftermarket-bracket, cable-tension, case-integrated, diy |
months_installed | yes | Whole months the card had hung in this mounting when measured |
droop_mm | yes | Far-end drop relative to the bracket end, whole millimetres; a level card is 0 |
measurement_method | yes | ruler-straightedge, calipers, or photo-estimate |
slot_reinforced | no | Whether the board’s x16 slot is metal-reinforced per its spec page |
symptoms | no | Any fault the owner attributes to the sag: none, intermittent-detection, artifacts, no-display, other |
notes | no | Free text, max 280 characters |
submitted_date | yes | ISO date of the report |
The droop bands (anchored)
| Droop | Reading |
|---|---|
| 0–2 mm | Level; within measurement noise |
| 3–5 mm | Visible droop |
| 6–10 mm | Clear droop |
| 11 mm and above | Severe droop |
The bands are fixed on purpose. Changing them would make old and new rows incomparable, so any future change bumps the dataset’s major version instead of quietly redefining the numbers.
How to measure
- Power the machine down. Leave the card installed.
- For the row that counts, take any bracket, holder or prop out from under the far end.
- Lay a straightedge along the card’s bottom edge at the bracket end, parallel to the slot.
- At the far end, read how far the card’s bottom edge sits below the straightedge, in whole millimetres. Calipers against a fixed reference are fine too.
- Note how many months the card has been in this mounting. Put the support back.
A photo estimate is accepted as a row and excluded from the medians. A ruler is what makes a number count.
How to submit a card
One report = one card you own, measured by you. A level card is one of the most wanted rows in the census, because it is the half of the distribution that never turns up in a forum thread.
- No git knowledge needed. Fill in the GPU sag report issue form. It mirrors the schema field-for-field; a maintainer transcribes accepted reports into the CSV, with
submitted_datetaken from the issue’s creation date. - The CSV path. Add one row to
data/submissions.csvfollowing the schema and open a pull request. A stdlib validator runs on every PR that touches the data, schema or validator, and blocks malformed rows.
Every submission passes two layers before it lands: the mechanical schema check, and a maintainer review for outlier and troll patterns, such as bursts of new accounts filing the same model at the same droop, a card length that does not match the model’s spec page, or rows that summarize other people’s threads instead of a card the submitter measured. The full acceptance rules are in CONTRIBUTING.md.
What publishes as the census grows
The activation floor, stated verbatim: per-model n + droop distribution once a model has >=5 rows measured with support=none in a horizontal mount. Below that floor a model is listed as collecting, with no numbers attached. As models cross the floor, their distributions render on this page: n first, then the median, the smallest and largest reading, and the share of cards in each band.
A site-wide number publishes once the unsupported horizontal set reaches n=20: the median droop across every such card, with n beside it. That is the press number this census is built to produce, and it does not exist yet.
The census opened at 0 rows on 2026-09-12. My own card is an ASUS ROG Astral RTX 5080 OC, and it hangs vertically on the riser in a HYTE Y60, so it has nothing to droop from and cannot seed the horizontal table. Every row here will be a real owner reporting a real card.
Current count: n=0. Every model is listed as collecting.
The verdict rules
- No verdicts below n = 5. A model with three alarming photos is collecting, not “a sagger.”
- Supported rows are kept and excluded from the medians. A card measured with a holder in place reports what the holder did.
- Photo estimates are kept and excluded from the medians. A ruler is required for a number to count.
- Reports are self-selected. Owners who noticed a droop are more likely to measure it, so published figures describe submitted cards and do not estimate what any given card will do.
- Bands never drift. The four bands above are frozen; a change would be a new major version, and old rows would be marked as read on the old bands.
Use the data (CC BY 4.0)
The live dataset is one file: data/submissions.csv, one row per measured card, in the schema order above. License: Creative Commons Attribution 4.0. Attribute as “TechFuelHQ Community GPU Sag Census” linking to this page.
The coil whine census is the sibling dataset, built on the same rules for the other thing heavy cards do. If your card’s problem is not its shape, the GPU artifacts guide and the graphics card not detected guide cover the two faults that get blamed on sag.
Change log
- 0.1.0 (2026-09-12) — schema, the four droop bands, intake (issue form + PR path), validator, and the empty census opened: 0 rows, no seeded data.
Frequently asked questions
How do I measure GPU sag?
How much GPU sag is normal?
Why not just publish which cards sag the most?
Can I submit a card that has a support bracket fitted?
What license is the data under?
Evidence ledger
- Last updated
- Methodology
- See our methodology for research and review standards. It draws on 3 cited sources, listed below, each checked against the original page on the date above. The census opens with zero rows on 2026-09-12. My own card, an ASUS ROG Astral RTX 5080 OC, hangs vertically on the riser in a HYTE Y60 and has nothing to droop from, so it cannot seed the horizontal table; that is stated on the page rather than worked around. The schema, bands, intake form and validator copy the coil whine census pattern and live in the open repository linked below. Card lengths in submitted rows come from manufacturer spec pages; droop readings come from owners’ rulers.
- Sources
- GitHub: iBlessi/gpu-sag-census (schema, validator, intake form, CSV) accessed 2026-09-12
- Puget Systems: GPU Sag (November 28, 2016) accessed 2026-09-12
- Tom's Hardware: Gigabyte addresses PCB cracking issues with a revised design (February 10, 2024) accessed 2026-09-12
- Update log
- 2026-09-12 — Page updated.
- Corrections
- Spotted an error or a stale number? Email hello@techfuelhq.com. Confirmed corrections are added to the update log above.