Where these values come from
Every line on this page is a read from a standard JavaScript API: navigator.userAgent, navigator.language, the screen object, window.innerWidth, matchMedia for the user preference queries, and Intl.DateTimeFormat().resolvedOptions() for the timezone. None of them prompt for permission, none of them are gated behind a secure context, and all of them return in microseconds.
That is the honest point of this page. The individual values are not sensitive and mostly not interesting — you know what browser you are using. What is worth seeing laid out is how much a page knows about you within a few milliseconds of loading, without asking and without leaving any trace you could notice. Every site you open reads from the same list, and most of them do.
This particular page has no server. It is static HTML delivered from a CDN, the script runs in your tab, and there is no endpoint here that could receive the values even if the code tried to send them. That is also why there is no IP address on the list: an IP is something a server observes about an incoming connection, so a page with no server of its own genuinely cannot show you one.
Fingerprinting, and why the combination is the problem
Alone, each value is shared with millions of people. Combined, they narrow quickly. Screen size, pixel ratio, timezone, language list, processor count, colour depth and the exact set of supported features form a vector that is often unique, or close enough to it that a tracker can recognise the same browser across sites without a cookie and without any storage it could be asked to clear.
Switching on the detail option above adds the fields that contribute most: platform, device memory, the WebGL renderer string — which frequently names your exact GPU model — and a set of feature-support booleans. Those extra lines are here so you can see the surface, not because a bug report needs them.
Browsers have been shrinking this surface for years. Safari reports a deliberately generic profile. Firefox's resistFingerprinting mode rounds the window size, reports a fixed timezone and lies about the platform. Chrome caps deviceMemory to a small set of rounded values and has frozen most of the user agent string. Brave and Tor go further by injecting per-session noise. So a value that looks wrong on this page is quite often a privacy feature working correctly rather than a bug.
Why the user agent string is barely readable any more
The browser name and version here are guessed with regular expressions over the user agent, which is a string that has accumulated thirty years of compatibility lies. Every Chromium browser includes the substrings Mozilla, AppleWebKit, KHTML, like Gecko, Chrome and Safari, so identifying Edge means checking for Edg/ before checking for Chrome, and the order of those tests is the whole algorithm.
Two things it cannot tell you. Chrome's user agent reduction now freezes the minor version digits at 0.0.0 and reports a fixed platform string, so the version shown is the major number and nothing more. And Windows 11 reports itself as Windows NT 10.0, identically to Windows 10 — the real version is only available through the User-Agent Client Hints API, which requires an explicit high-entropy request that this page does not make.
The iPad is the other awkward case. Since iPadOS 13 Safari sends a desktop macOS user agent by default, so the only way to distinguish an iPad from a Mac is that the iPad reports multiple touch points. That is the check this tool uses, and it is a heuristic rather than a fact.
Screen, viewport and pixel ratio are three different numbers
screen.width is the whole display in CSS pixels. devicePixelRatio is how many physical pixels the device paints per CSS pixel — 2 or 3 on phones and Retina displays, and a fractional value like 1.25 or 1.5 on a Windows machine with display scaling turned up. Multiply them and you get roughly the physical resolution, which is why a 1920×1080 monitor at 125% scaling reports 1536×864 with a ratio of 1.25.
The viewport is the part of the window your page actually gets, with browser chrome and any visible scrollbar already subtracted. It is what CSS media queries compare against, so it is the number that matters when a responsive layout misbehaves. Resize the window and press the button to watch it change while the screen figures stay put.
Using this for a bug report
Copy all writes every line as plain text. Browser, operating system, viewport, pixel ratio and language are usually enough for someone to reproduce a layout problem, and the exact user agent settles arguments about which engine version was involved. Leave the detail option off for that purpose — memory and GPU strings rarely help, and you may not want to hand them over with a screenshot attached.
Questions people ask
Why is my IP address not shown?
Because this page has no server component. An IP address is not something the browser knows about itself and exposes to JavaScript; it is what a server observes about the connection that reached it. Sites that show you your IP are echoing back what their own server saw. This site is static files, so nothing here ever sees a connection at that level.
It says Windows 10 or 11 rather than picking one.
Because the user agent cannot distinguish them — Windows 11 reports Windows NT 10.0, the same string Windows 10 sends. Microsoft chose not to increment it for compatibility reasons. The real version is obtainable through the User-Agent Client Hints API by requesting the high-entropy platformVersion field, which is a deliberate extra request this page does not make.
Is any of this stored or sent anywhere?
No. It is read, formatted into the page you are looking at, and discarded when you close the tab. Nothing is written to storage, and there is no request that carries any of it. The Copy all button puts the text on your clipboard, which is the only way it leaves the page, and only when you press it.
My GPU shows as withheld. Is something broken?
That is a browser deciding not to answer. The WEBGL_debug_renderer_info extension exposes the renderer string, and Firefox restricts it while Safari and some privacy configurations block it outright, because a GPU model is a strong fingerprinting signal. WebGL still works; only the identifying name is unavailable.