Buyer's guide and site pages
Last updated
The website at a glance#
Every page on gpuninja.com is generated from the same data as the public API and rebuilt on each deploy. The main pages are:
| Page | Path |
|---|---|
| Home | / |
| GPU chips | /chips |
| Graphics cards | /boards |
| Cases & enclosures | /chassis |
| AI models | /models |
| One chip, card, case or model | /chips/{slug}, /boards/{slug}, /chassis/{slug}, /models/{slug} |
| Buyer's guide | /guide |
The home page links the four catalogs, each with its current count, and the buyer's guide. Platforms and benchmarks have no pages of their own; they appear inside chip, card and model pages, and in full through the API.
Catalog pages#
Each catalog lists 50 entries per page, in slug order. Page 1 is the catalog path itself and later pages are /page/2, /page/3 and so on, such as /boards/page/2. Each page has its own address and shows "Showing 1–50 of 123 graphics cards" with links to the previous and next pages.
| Catalog | Columns |
|---|---|
| GPU chips | Chip, Vendor, Architecture, Max VRAM, TDP, Launched |
| Graphics cards | Board, Chip, VRAM, TDP, Length, Slots, Price, Stock |
| Cases & enclosures | Case, Vendor, Form factor, Max GPU length, Max GPU slots, Price, Stock |
| AI models | Model, Publisher, Parameters, Quantization, Min VRAM |
Price is the lowest current US dollar price. Discontinued hardware stays in the catalogs, marked with a "Discontinued" badge.
Detail pages#
Every chip, card, case and model has a page. Each page has the same sections in the same order, even when a section is empty, in which case it says so (for example "No benchmark results recorded.").
| Page | Sections |
|---|---|
| Chip | Specifications · Boards built on this chip · Benchmarks · Sources |
| Graphics card | Specifications · Size & power · Prices · Cases it fits · AI models it can run · Benchmarks · Sources |
| Case | Specifications · Prices · Graphics cards that fit · Sources |
| AI model | Specifications · Graphics cards that can run it · Benchmarks · Sources |
What you'll see on them:
- Freshness. Below the heading, "Specs verified" gives when the page's specs were last verified and "Prices checked" when its prices were last observed (card and case pages only, since chips and AI models have no prices). Where values were checked at different times, each shows the range, "between" the oldest and the newest. Your browser shows them as relative times, such as "3 days ago", coloured by age. Prices count as ageing after 3 days and stale after 14; specs after 180 days and a year.
- Sources. Each specification with a recorded source has a "Source" disclosure showing the source link, when the value was retrieved and last verified, and how it was verified. The Sources section at the end lists every source on the page once, with the facts it supports.
- Prices. Every merchant offer with its price in its own currency, its stock status and when it was retrieved, under the lowest current price.
- Benchmarks. Results grouped by benchmark, each naming the card or chip, the AI model if any, and the platform it ran on, with its value, unit and date.
- Missing values are shown as "Not recorded", never as zero or a dash.
- The chip and its boards link to each other, so you can move from a chip to every card built on it and back.
Discontinued hardware#
A discontinued chip, card or case keeps its page, and search engines can still index it. It has a "Discontinued" badge and a banner reading "Discontinued on {date}. This page is a preserved snapshot of the last recorded specs, prices and benchmark results." (or "Discontinued (date not recorded)." when the date isn't known). Prices become "Last recorded prices" under a "Last recorded lowest price", and stock reads "Last recorded in stock" or "Last recorded out of stock". The page's title has "(discontinued)" after the name. AI models are never discontinued. See Data for what frozen means.
Compatibility on the website#
Fit and AI model compatibility are shown on the card, case and model pages rather than on separate pages. Each section lists every match, and its anchor is a stable address you can link to, such as /boards/asus-rog-strix-4090#fits-chassis:
| Section | On | Anchor |
|---|---|---|
| Cases it fits | a graphics card page | #fits-chassis |
| AI models it can run | a graphics card page | #can-run |
| Graphics cards that fit | a case page | #fits-boards |
| Graphics cards that can run it | an AI model page | #runs-on |
Each fit row gives a verdict and the reason for it:
- Fits, with the spare length, such as "64.4 mm spare".
- Check, when the card clears the case by 10 mm or less ("7.4 mm spare"), or when a length or slot count is "not recorded". Measure before you buy.
- Doesn't fit, with why, such as "2.6 mm too long; 3.5 slots exceeds 3".
A verdict a maintainer has confirmed by hand shows that maintainer's note, or "Confirmed by a maintainer". AI model rows give the spare VRAM, such as "18 GB spare". The rules are on Compatibility.
The buyer's guide#
The guide at /guide filters every graphics card by what you want to run, what you can spend, the memory, power and room your build has, and who makes it, then compares up to three cards head to head. On a laptop or desktop screen it fits in one window: the filters on the left, the matching cards on the right, and nothing to scroll.
The page arrives already showing the first cards, so it is useful straight away and to search engines. Filtering needs JavaScript: the controls stay greyed out until the page has loaded. Without JavaScript you see the first cards and a note that filtering and comparing need JavaScript.
Discontinued cards are left out by default. Turn on "Discontinued too" to bring them back.
Filters#
The filters sit in six groups, and each group shows how many of its filters are set. The panel's counter at the top shows how many cards match out of how many are in play, and Reset clears every filter (your sort and the cards you picked to compare stay).
| Group | Filter | What it does |
|---|---|---|
| Workload | Runs this AI model | Only cards with enough VRAM for the chosen model; each model shows the VRAM it needs. Choose it again to clear it |
| Workload | Llama 8B speed at least (tok/s) | Minimum text-generation speed on Llama 3.1 8B, in steps of 5 |
| Budget | Price at most (USD) | Maximum lowest US dollar price, in steps of 50 |
| Budget | Price per GB at most ($/GB) | Maximum price for each GB of VRAM |
| Memory | VRAM ≥ | Any, 16, 24 or 32 GB |
| Memory | Type | One or more memory types, such as GDDR7 |
| Power | Connector | One or more power connectors, such as 12V-2x6 or 8-pin |
| Power | Board power at most (W) | Maximum board power, in steps of 5 |
| Power | Your PSU (W) | Only cards whose recommended power supply is no bigger than yours |
| Case fit | Slots ≤ | Any, 2, 2.5 or 3 slots |
| Case fit | Length at most (mm) | Maximum card length |
| Case fit | Height at most (mm) | Maximum card height |
| Make | Maker | NVIDIA, AMD and so on |
| Make | Chip | One or more GPU chips, such as 5090 |
| — | In stock only | Only cards with at least one offer in stock. Off by default |
| — | Discontinued too | Also show discontinued cards. Off by default |
The choices for memory type, connector, maker and chip come from the cards themselves, each with the number of cards that have it. Every range has a slider and a number box for the same value, so you can drag or type, and its track marks where each card sits, lit while that card still matches. A slider pushed to its open end means no limit. A number outside the range is ignored until it is complete, and clearing the box removes that filter. When you set a filter, a card whose value for it isn't recorded is left out: a card with no US dollar price, for example, never matches a price limit.
You can sort by best match (in stock first, then most VRAM, then lowest price), price (the default), speed, VRAM, power or length. Cards with equal values are listed by name.
Results#
Each card shows its chip, stock status, when its price was last checked (flagged when that was more than 30 days ago), its name, which links to its page, and its lowest price. Bars show its VRAM, board power and Llama 8B speed; the best of each among all matching cards is highlighted. Small labels give its length, slot width, memory type and power connector, and light up when a filter is set on them. With a length limit set, the length label shows the room to spare instead, marked as tight under 10 mm.
The results come a page at a time: as many cards as fit on your screen (six on a phone). Use the page buttons, or ← and → when you're not typing in a filter. Changing any filter goes back to the first page. When nothing matches, the guide says why and offers a way out: clearing the AI model when no single card has the VRAM it needs, or resetting the filters.
Comparing cards#
The top two results are picked for you when the page opens, so you can compare straight away, and the picks follow the top of the results as you change filters until you pick a card yourself. From then on your picks stay as you left them, even when a filter hides one.
There are three numbered slots at the bottom of the results. Each picked card's key shows its slot number, and pointing at a card or a slot lights up its partner. Use a card's key to add it to the next free slot or take it out, or the × on a slot to empty it. Once three are picked, the other keys are disabled. Compare needs two cards and says "Add one more" until then.
Compare opens a head-to-head view over the page. It goes round by round: lowest price, VRAM, price per GB, Llama 8B speed, board power, the largest AI model each can run (or whether each runs the model you chose), recommended PSU, slot width, availability, and, with a length limit set, how each fits your case. With two cards it shows each round's winner and the margin; with three, first, second and third. A verdict and a one-line summary come first, and the cards' lengths are drawn to scale against your case. Escape or "Back to boards" closes it.
URL parameters#
Not live yet. The guide doesn't read or write these parameters yet; they arrive with the live search index. This section describes how they will work.
The guide will keep its state in the address bar, so you can bookmark or share a filtered view. For example:
https://gpuninja.com/guide?vram=16&length=320&stock=1&compare=asus-rog-strix-4090,msi-rtx-4060-ventus-2x| Parameter | Sets | Accepted values |
|---|---|---|
vram | VRAM at least | One of the VRAM sizes the filter offers, in GB |
price | Price up to | A number of US dollars within the filter's range, with up to two decimal places, such as 799 or 799.99 |
tdp | Power draw up to | A whole number of watts within the filter's range |
length | Card length up to | A whole number of millimetres within the filter's range |
model | Runs this AI model | An AI model's slug from the filter's list, such as llama-3-1-8b-q4 |
stock | In stock only | 1 |
discontinued | Include discontinued | 1 |
sort | Sort order | default, price-asc, vram-desc, tdp-asc, length-asc or name-asc |
compare | Cards to compare | Up to three card slugs, separated by commas with no spaces |
- Numbers are plain digits: no sign, exponent, spaces or thousands separators. Ranges include both ends.
- An invalid or empty value is dropped and the guide says so in one sentence per parameter, such as
Ignored the "price" setting in the link because its value isn't valid.The message names the parameter, never the value, and the valid parameters still apply. Forstockanddiscontinued, anything other than1means off, and an unknownsortfalls back to the default. - In
compare, malformed or repeated slugs are dropped, and any beyond the first three are ignored withIgnored extra boards in "compare": at most 3 can be compared.A card that is no longer in the catalogue is removed once the index loads, withIgnored boards in "compare" that are no longer in the catalogue. - If a parameter appears more than once, the first one counts. Parameters the guide doesn't recognise are ignored and kept.
- Opening a link never changes its address, so a shared link stays as it was until you change something. From your first change on, the guide rewrites the address in place (it adds no Back-button entries): the nine parameters in the order above, any at their default left out, so equal states have equal URLs, then any unrecognised parameters and the
#fragment, unchanged. - Every variation serves the same page from the server, and the page's canonical address never includes parameters. The filtering happens in your browser.
- The guide sets no cookies. Besides the address bar, the only thing it will remember is your saved plan, below.
Saved plan and the clear control#
The guide, the workload planner and the Solution Builder share one saved plan, kept only in your own browser's local storage under the key gpuninja.plan. Nothing in it is ever sent to GPU Ninja or anyone else.
Not live yet. The guide's part of the plan arrives with its URL parameters: until then the guide neither reads nor writes it, and leaves the planner's and the builder's parts as they are.
- What the guide saves. Its filters, sort and compared cards, as the same parameters it writes to the address bar. It saves them when you change something, never just because you opened the page.
- Links win. When you open the guide from a link that carries any of its parameters, the link's settings apply and your saved plan is left as it was until you change something. With no parameters, the guide restores your saved settings, under the same forgiving rules as a link: a setting it can't use is dropped and the guide says so, such as
Ignored the "price" setting in your saved plan because its value isn't valid. - A plan it can't read is discarded. If the stored value isn't one the site can read, it is removed and the guide says
Your saved plan couldn't be read, so it was cleared. - Clear saved plan. The button at the end of the filter rail removes the whole plan, for the buyer's guide, the workload planner and the Solution Builder, and announces
Saved plan cleared.Your current filters, results and address stay as they are, and your next change saves again. Clearing your browser's site data for gpuninja.com removes it too. - If your browser blocks storage, as in some private windows, the guide works exactly the same, without saving.
The privacy policy describes the saved plan in full. To work out how much memory and compute a model needs before you choose a card, use the workload planner.
If something goes wrong#
Once the guide loads the live card list (not yet; today the page carries its cards with it): if the latest card list can't be loaded within 10 seconds, the guide keeps the cards it arrived with, leaves the filters disabled, says "Couldn't load the latest boards" and offers Retry. If a chosen AI model's list can't be loaded, that filter resets to any model and says "Couldn't load boards for this model", and the other filters keep working; choosing the model again tries again. If a comparison can't be loaded, it says "Couldn't load the comparison" with Retry, and the results are unaffected. If the results can't be updated after a change, the guide keeps the previous results and says "Couldn't update the results".
The home page also carries the sign-up form for the daily digest.
Plain-text companions#
The home page, every catalog page, every chip, card, case and model page, and the docs, legal, blog and digest pages each have a plain-text companion at their own path plus .txt. The buyer's guide, the digest archive at /digest and the 404 page have none. Feeds and plaintext lists every companion.
| Page | Companion |
|---|---|
| Home | /index.txt |
| A catalog page | /boards.txt, /boards/page/2.txt |
| A chip, card, case or model | /boards/asus-rog-strix-4090.txt |
| A docs or legal page | /docs/api.txt, /legal/privacy.txt |
Companions are written for AI agents and scripts, and contain the same facts and wording as the web page. They are UTF-8 text in a Markdown-like layout, served as text/plain; charset=utf-8 and cached for five minutes. Generated pages also advertise their companion as an alternate link in the HTML head, and chip, card, case and model pages advertise their API document, such as /api/v1/boards/asus-rog-strix-4090, too.
An abridged example, /boards/asus-rog-strix-4090.txt:
# ASUS ROG Strix GeForce RTX 4090 OC
> NVIDIA GeForce RTX 4090 · ASUS
Canonical: https://gpuninja.com/boards/asus-rog-strix-4090
Data as of: 2026-10-04T06:12:00Z
Path: Home › Graphics cards
- Specs verified: 1 Feb 2026, 09:00 UTC
- Prices checked: 4 Oct 2026, 06:12 UTC
## Size & power
- Length: 357.6 mm
- Slot width: 3.5-slot
- Recommended PSU: 1,000 W
## Prices
- Lowest current price: $1,999.99
- Newegg: $1,999.99 — In stock, retrieved 4 Oct 2026, 06:12 UTC
## Cases it fits
- [NZXT H5 Flow](https://gpuninja.com/chassis/nzxt-h5-flow) — Check: 7.4 mm spare
- [Fractal Design North](https://gpuninja.com/chassis/fractal-north) — Doesn't fit: 2.6 mm too long; 3.5 slots exceeds 3The conventions:
- The header gives the page's
Canonical:address,Data as of:and, except on the home page, itsPath:of parent pages. Data as of:is theasOfof the page's API document, an absolute UTC timestamp in ISO form, orunknownwhen the data has no timestamps.- Every other time is absolute, such as
4 Oct 2026, 06:12 UTC. Relative times never appear, because the file is written at build time. - A value that isn't recorded reads
Not recorded. - Units are always written out:
24 GB,450 W,357.6 mm,3.5-slot. - Sections appear in the same order as on the web page, with the same headings.
llms.txt#
/llms.txt is the site's index for AI agents, following the llms.txt convention. It links the .txt companion of each page, grouped into sections: Site, Docs, API (the search index, the changes file and each collection), Chips, Boards, Chassis, Models, Blog, and an Optional section with the legal pages and the daily digest. Discontinued hardware is marked as such. While the file has 1,000 entries or fewer, every page is listed; beyond that, the largest groups collapse one at a time into a single entry, a hardware catalog's .txt or the blog or digest feed, with the pattern for each item's address. See Feeds and plaintext for the layout.
/sitemap.xml lists every web page for search engines, and /robots.txt allows every crawler and points to the sitemap.