What does a website know about my device?

Less than the cards suggest, and that is by design. Every number in this category is rounded, capped or withheld by at least one major browser. A blank card here is almost always a browser protecting you rather than a detection failure, which makes this the most misread section on the site.

Device

Hardware hints your browser exposes to any page you open.
Device typelive
Reading...
What your device type reveals
Device memorylive
Reading...
What your device memory reveals
CPU coreslive
Reading...
What your cpu cores reveals
Batterylive
Reading...
What your battery reveals
Touch supportlive
Reading...
What your touch support reveals

Every device signal, with the call behind it

5 signals, none of which ask your permission first. The entropy column is this site's own estimate of how much each signal narrows a crowd, not a measured population statistic; the methodology page explains why that distinction matters.

Device signals with detection API, permission, entropy estimate and spoofability
SignalJavaScript callPermissionEntropy (bits, estimated)Fakeable
Device typenavigator.maxTouchPoints with navigator.userAgentNone1Yes
Device memorynavigator.deviceMemoryNone1.2Partly
CPU coresnavigator.hardwareConcurrencyNone1.8Partly
Batterynavigator.getBattery()None1No
Touch supportnavigator.maxTouchPointsNone1Partly

Every figure here is deliberately blurred

navigator.deviceMemory reports your RAM in gigabytes, rounded down to a power of two and capped at 8. A machine with 64 GB reports 8, the same as a modest laptop. The cap and the rounding are in the specification, written there to stop the value becoming a precise hardware identifier.

navigator.hardwareConcurrency counts logical processors, not physical cores, which is why the answer is often double what your processor's specification sheet says. The specification explicitly permits a browser to report a lower number than the truth, and Safari caps it while Tor Browser reports 2 to everybody.

navigator.maxTouchPoints reports what the hardware can do rather than what you are doing. A touchscreen laptop driven entirely by trackpad still reports touch points, which is why so many sites serve it a mobile interaction model it does not want.

The battery API is a case study in how this gets fixed

Battery Status looked harmless: a charge level, a charging flag, two time estimates. Research showed the combination behaved as a short-lived identifier. Charge level is nearly continuous, discharge time is specific to a device's age and use, and the pair survived clearing cookies and switching to private browsing, because neither of those changes your battery.

Firefox removed it. Safari never shipped it. Chromium still exposes it. So a blank battery card tells you which browser family you are in, which is a small irony worth noticing: even the absence of a signal is a signal.

This is the pattern for the whole category. A value looks innocuous, someone demonstrates it works as a handle, and vendors either round it, cap it or delete it. What is left is what survived that process.

There is no API that says what kind of device you have

The device card is the only inference on this site rather than a reading. Phone, tablet or desktop is worked out from touch capability, the platform tokens in the user agent and the screen dimensions, and it gets touchscreen laptops and tablets in desktop mode wrong regularly.

That is not a gap in the platform, it is a deliberate absence. Sites that need to adapt are better served by asking what the current input can do, which CSS pointer and hover queries answer directly, than by guessing a category from clues that can all be faked.

Frequently asked questions

Why does this report more cores than my processor has?

Because it counts threads. A four core chip with simultaneous multithreading presents eight logical processors to the operating system, and that is the number the browser reports. It is also a ceiling the browser chooses: Safari caps it and Tor Browser reports 2 for everyone.

Why is my device memory always 8?

The specification caps the value at 8 and rounds down to a power of two, so anything from 8 GB upward reports 8. If the card is blank instead, you are in Firefox or Safari, neither of which implements the property at all.

Why is my battery card empty?

Firefox removed the Battery Status API and Safari never shipped it, after the combination of charge level and discharge estimate was shown to work as a temporary cross-site identifier. An empty card is the browser declining, not a fault.