Compatible RAM comes down to five things: the generation (DDR3, DDR4 or DDR5), the form factor (desktop DIMM or laptop SO-DIMM), the module type (unbuffered, registered or ECC), the speed, and how much each slot can take. Get the first three right and the module will at least fit and boot; get all five right and it will run as intended. This guide shows how to read each of them from the machine you already have, using tools built into Windows, macOS and Linux, and where to confirm the answer before you buy from the 4,268 kits we track.
The quickest route to compatible memory is to copy what is already in the machine. Every operating system will tell you most of it.
Press Ctrl+Shift+Esc, open the Performance tab and select Memory. Below the graph you will see:
Task Manager does not always state the generation, so use one of the next two methods for that.
CPU-Z is a free utility from CPUID. The Memory tab shows the type (DDR3, DDR4 or DDR5), the total size and the channel mode. Note that it reports the DRAM frequency as the real clock, which is half the MT/s figure on the box: 1600MHz in CPU-Z is DDR4-3200. The SPD tab is the most useful screen for buying a match: pick each slot from the drop-down and it shows the module size, manufacturer, part number, rank and the timing table including any XMP or EXPO profile. Search the part number and you will find the exact kit, or one with the same specification.
Without installing anything, open PowerShell and run:
Get-CimInstance Win32_PhysicalMemory | Format-Table DeviceLocator,Capacity,Speed,ConfiguredClockSpeed,PartNumber,SMBIOSMemoryType
That lists one line per installed module: which slot it is in, its capacity in bytes, its rated and configured speed, and its part number. The SMBIOSMemoryType column usually gives the generation as a number (some systems report 0): 24 is DDR3, 26 is DDR4 and 34 is DDR5. The older wmic memorychip get Capacity,Speed,PartNumber command gives similar output, but WMIC is deprecated and is not installed by default on recent builds of Windows 11, so PowerShell is the reliable choice.
Open the Apple menu, choose About This Mac, then More Info and System Report, and select Memory. On Intel Macs with slots this lists each bank with its size, type and speed. On Apple Silicon Macs (M1 onward) the memory is part of the chip package and cannot be upgraded at all, so the report will show a single total. The Intel iMacs and Mac minis that do take SO-DIMMs are listed on the Mac RAM page.
Run sudo dmidecode -t memory in a terminal. Each "Memory Device" block shows the slot, size, type (DDR4, DDR5), form factor, rated and configured speed, manufacturer and part number, and empty slots appear as "No Module Installed". The "Physical Memory Array" block at the top often states the board's maximum capacity and number of slots, though that figure comes from the firmware and is not always accurate; the manual is the authority.
Reading the fitted module tells you what works. The manual tells you what else will.
Get-CimInstance Win32_BaseBoard in PowerShell) and download the manual from the maker's support page. The memory section gives the generation, supported speeds, the maximum total capacity, and which slots to fill first for two modules (usually A2 and B2). The support page also has a QVL (qualified vendor list) of kits the board maker has tested. A kit not on the QVL will usually still work at standard speeds; the QVL matters most when you want a high XMP or EXPO speed or are filling every slot.DDR3, DDR4 and DDR5 each have the notch in the contact edge in a different place, so a module of the wrong generation will not go into the slot. Desktop DDR4 and DDR5 are both 288 pins, which is why they look alike in photos, but the key differs. A board takes exactly one generation; there is no adapter. If you are unsure which generation suits a new build, the DDR4 vs DDR5 guide covers which platforms take which.
| Generation | Desktop (DIMM) | Laptop (SO-DIMM) | Standard voltage |
|---|---|---|---|
| DDR3 | 240 pins | 204 pins | 1.5V (DDR3L: 1.35V) |
| DDR4 | 288 pins | 260 pins | 1.2V |
| DDR5 | 288 pins (different key) | 262 pins | 1.1V |
Desktop modules (DIMMs) are about 13cm long; laptop modules (SO-DIMMs) are about 7cm. They are not interchangeable in either direction. Small-form-factor desktops, mini PCs and NAS boxes often use SO-DIMMs, so check Task Manager's form factor line rather than assuming from the case. The desktop, laptop and SO-DIMM pages are each filtered to one form factor. A small number of recent laptops use CAMM2 modules, which are neither, and need a CAMM2 part specifically.
Ordinary desktop and laptop memory is unbuffered (UDIMM). Server memory is usually registered (RDIMM or LRDIMM), with a buffer chip between the memory and the controller. Consumer motherboards do not support registered memory and will not boot with it, which matters because used server RDIMMs are often very cheap per gigabyte. ECC unbuffered memory is a separate case: it works with ECC enabled only on boards and CPUs that support it (workstation and some AMD consumer boards), and in a board that does not, it either runs without error correction or is not recognised. If you are not deliberately building a machine for ECC, buy standard non-ECC unbuffered memory. The server and ECC RAM pages collect the rest.
Most laptops from the Intel Haswell generation (2013) onward that use DDR3 require DDR3L, the 1.35V low-voltage version. Standard 1.5V DDR3 may not boot in them. DDR3L is dual-voltage and works in older 1.5V machines too, so it is the safe DDR3 buy for any laptop. DDR4 and DDR5 do not have this split at standard speeds.
Memory runs at the speed of the slowest module fitted and the highest speed the CPU and board allow. A DDR4-3200 module in a laptop that runs DDR4-2666 will simply run at 2666; this is normal and costs nothing. Fitting a slower module beside a faster one drags the pair down to the slower speed. On desktops, kits rated above the standard JEDEC speed (DDR4-3200 or DDR5-4800 to 5600 depending on the CPU) run at the standard speed until you enable the XMP or EXPO profile in the BIOS.
Every board has a maximum total and therefore a maximum per slot. Many older DDR4 laptops stop at 16GB per slot; most DDR4 desktop boards take 32GB modules; current DDR5 desktop boards take 48GB and, after a BIOS update on many, 64GB modules. Divide the manual's maximum by the number of slots for a safe figure, and check for a BIOS update before buying the largest modules.
Many thin laptops since about 2019 and every Apple Silicon Mac have memory soldered to the board. If Task Manager shows no free slots and the service manual says "system board memory" or "onboard", that capacity is permanent. Some models have half soldered and one slot free, which still allows an upgrade within the per-slot limit.
Adding a module of the same generation, form factor and type will almost always work. Whether it runs at full speed in dual channel depends on the details:
Replacing everything with one new matched kit avoids all of this, and on the 16GB and 32GB pages a fresh 2x8GB or 2x16GB kit is often barely dearer per gigabyte than a single module.
With those six answers, open the matching page, filter if needed, and buy from the top of the table, which is sorted by price per gigabyte (see how £/GB works). Today the cheapest kit we track is £0.00/GB and the median is £8.53/GB.