Some links on this page are affiliate links, marked where they appear. Full disclosure ↓
Methodology & sources
This is a data product, not a review site. We do not own this hardware and we do not test it. Every value in the table is read from a published source and carries a link to it; anything we cannot source is unknown and stays unknown.
The one rule
Where each field comes from
- Power and noise — third-party measurements, taken from the review that made them, credited on the cell. Chiefly NotebookCheck, whose mini-PC reviews publish idle minimum/median/maximum watts and idle/load dB(A) under a stated test setup. IdleWatt runs its own measured idle database with a published Kill A Watt methodology and is worth reading directly.
- CPU benchmarks — NotebookCheck's public processor benchmark lists (Cinebench R23 and Geekbench 6 medians). PassMark, Geekbench Browser, TechPowerUp and OpenBenchmarking all disallow our crawler in robots.txt, so they are not used.
- Configuration ceilings (maximum RAM, M.2 slots, SATA bays, ports, dimensions) — the manufacturer's own product page, because that is the page that states what the machine can be configured to, and it is the claim the manufacturer is accountable for. Where a manufacturer renders its specifications only in JavaScript, we have no static source and those fields stay unknown.
- Prices — polled daily from vendor storefronts that publish structured product data. The figure shown is the lowest listed configuration at the last snapshot.
Derived columns
Derived numbers are marked as derived and show their formula. They are computed only when every input is sourced:
$ per CB23 point— lowest listed price ÷ Cinebench R23 multi-core score.CB23 per watt— Cinebench R23 multi-core score ÷ measured maximum load watts.kWh/year at idle— measured idle watts × 8,760 ÷ 1,000.
Use-case tags
These are filters, not recommendations. Each is a rule applied to the sourced data:
| Tag | Rule |
|---|---|
| Homelab | Socketed (SO-DIMM) RAM with a stated ceiling of 32 GB or more, and at least two M.2 slots. |
| NAS | At least two SATA bays, or at least three M.2 slots. |
| Router / firewall | Two or more wired NICs and a stated link speed of 2.5 GbE or faster. |
| HTPC | At least one HDMI output and a measured idle noise level at or below 26 dB(A). |
| Thin client | Lowest listed price at or below $350 and measured idle draw at or below 10 W. |
| Small gaming | Cinebench R23 multi of 15,000 or more, in a chassis under 2.5 litres. |
| Portable dev box | Under 1.2 litres, Cinebench R23 multi of 10,000 or more, and a RAM ceiling of 32 GB or more. |
What counts as a mini PC here
A machine is in scope unless its measured chassis volume exceeds 12 litres, at which point it is a small-form-factor desktop rather than a mini PC. A machine whose volume we do not know is kept — the absence of a measurement is not evidence of size.
Coverage — what we actually have
Out of 520 models in the dataset:
| Field | Models with a sourced value | Coverage |
|---|---|---|
| CPU identified | 464 | 89% |
| Cinebench R23 multi | 412 | 79% |
| Measured idle watts | 209 | 40% |
| Measured max load watts | 207 | 40% |
| Measured idle noise | 199 | 38% |
| RAM ceiling | 172 | 33% |
| RAM socketed vs soldered | 207 | 40% |
| M.2 slot count | 159 | 31% |
| NVMe generation | 192 | 37% |
| SATA bays | 33 | 6% |
| NIC count | 166 | 32% |
| NIC speed | 351 | 68% |
| USB4 / Thunderbolt | 181 | 35% |
| HDMI outputs | 345 | 66% |
| Chassis volume | 282 | 54% |
| Live price | 305 | 59% |
Which prices we track, and which we deliberately do not
Price history is built on direct-from-manufacturer storefronts — Beelink, Minisforum, MinisforumEU, GMKtec, GMKtecEU, Aoostar, Geekom, Acemagic — which publish structured product data and place no restriction on retaining it. That is also where the coupon stacks and flash sales actually happen.
Amazon prices are deliberately excluded from price history. The Amazon Associates Program Policies permit displaying an Amazon price only when it comes from Amazon's own API or widget, and cap caching of that pricing data at 24 hours. A historical Amazon price chart needs exactly the retention that forbids, so we do not build one. Amazon links carry no price.
Amazon links are SEARCH links, not product links. Matching a specific Amazon listing to a specific model and configuration needs Amazon's own catalogue API, which we do not have; guessing would risk sending a buyer to the wrong machine, which is worse than sending nobody. A search link instead opens an Amazon search for the machine's name and cannot point at the wrong product, because it does not point at one product at all — it is marked "Search on Amazon" in the buy list rather than shown as if it led to one specific listing.
| Source | Status |
|---|---|
| Beelink | polled daily |
| Minisforum | polled daily |
| MinisforumEU | polled daily |
| GMKtec | polled daily |
| GMKtecEU | polled daily |
| Aoostar | polled daily |
| Geekom | polled daily |
| Acemagic | polled daily |
| Geekbuying | candidate — crawling permitted, price extraction not yet proven |
| Amazon | excluded — 24-hour cache cap on pricing data under the Associates Program Policies; history not permissible. |
| AliExpress | excluded — robots.txt disallows /items/*, /productdetail/*, /search/* and /api/* for general crawlers. |
| Banggood | excluded — robots.txt disallows /search/, so there is no permitted way to discover product URLs at scale. |
Cross-store matching (same manufacturer, two storefronts)
Several brands run two storefronts we track separately — a global/US store and a region-specific one (Minisforum: minisforum.com and minisforumpc.eu; GMKtec: www.gmktec.com and de.gmktec.com). When both list what is clearly the same model, they are shown as one machine with every storefront in its buy list. The public identity of the model (its name and URL on this site) is always anchored to the global storefront's listing when one exists, so adding a regional storefront later never renames an already-published page.
A second storefront's LINK is shown whenever the two listings share a specific model designator from the same manufacturer — a safe bar, since this is one company's own two stores, not independent resellers. Its price is only imported when the two listings' CPUs are confirmed identical. A storefront can sell a different RAM/storage/CPU configuration under a reused model name; a link to that configuration is still useful, but attaching the wrong price to it would be a quieter, harder-to-notice error than a wrong model entirely, so it is not shown. Those listings appear in the buy list marked "price not shown — see methodology" like Amazon's.
Price history
Prices are captured daily and never overwritten. The last snapshot recorded 3064 priced listings across 491 products from 12 vendors. Price history cannot be reconstructed after the fact, so collection started before any of it was displayed.
Crawling
Every source is fetched politely: robots.txt is honoured, one request at a time per host with a delay between them, and everything is cached so a page is fetched once rather than repeatedly.