ToolActToolAct

System Check Tool

Detect your operating system, browser, screen, hardware, and network information

What is System Check?

System Check is a free online device information detection tool that comprehensively retrieves hardware and software details of your computer or mobile device. It can detect operating system version, browser type and version, screen resolution and color depth, CPU cores and device memory, GPU graphics card model and vendor, battery level and charging status, network connection type and speed, and various Web capabilities supported by the browser (such as WebGL, WebAssembly, WebRTC, etc.). This information gives front-end developers a cross-browser compatibility baseline, helps technical staff troubleshoot device issues, and lets users understand their device configuration. Most importantly, all detection is performed locally in your browser and no personal data is uploaded to servers, completely protecting your privacy.

How to Use

How to use

  1. Open the System Check page and the tool will automatically start detecting your device information
  2. After the page loads, you'll see detailed system information grouped by category, including OS, browser, screen, hardware, GPU, network, battery, storage, and more
  3. Information under each category is displayed in a grid format, clear and intuitive for easy viewing
  4. Click the 'Copy All' button at the top of the page to copy key system information to your clipboard, convenient for pasting to technical support
  5. If you need to understand what certain information means, check the FAQ section at the bottom of the page

Privacy Tips

  • Review copied system information before sending it to support, because it may include browser, device, screen, network, and hardware details.
  • Some values are browser estimates or permission-dependent, so use them for troubleshooting context rather than as guaranteed hardware specifications.

Use Cases

Collect a browser-side system profileThe tool gathers OS, browser, platform, screen resolution, available screen size, color depth, device pixel ratio, orientation, language, timezone, and user agent details directly from browser APIs like navigator.userAgent, navigator.platform, and screen. The compact copy action exports the most common support fields in plain text, so an email or chat message can carry the same profile the support technician sees.
Check hardware, GPU, network, and storage signalsIt reports CPU core count, device memory when exposed via navigator.deviceMemory, touch points, the WebGL renderer and vendor string from WEBGL_debug_renderer_info, connection type, effective network type, downlink, RTT, save-data mode, battery status, and storage quota or usage where the browser permits access. The values are browser estimates, so a desktop with 32 GB of RAM may still report 8 GB on Safari.
Audit web capability supportCapability checks cover WebAssembly, Service Workers, Workers, IndexedDB, LocalStorage, SessionStorage, WebGL, WebGL2, WebGPU, WebRTC, WebSocket, Web Share, Bluetooth, USB, notifications, clipboard, geolocation, and sensor APIs. This is useful before debugging browser-specific feature failures; all probes are run from the local page, so the resulting capability map reflects this device rather than a remote snapshot from a CDN edge.
Compare device profiles across test machinesRun the check on each browser and OS combination involved in QA and compare the screen, DPR, GPU, and memory fields. Mismatches in color depth, color gamut, or device pixel ratio often explain why a layout or font looks correct on a 1x sRGB laptop and broken on a 2x wide-gamut external display or a high-DPI mobile device.
File a support ticket with reproducible device dataCopy the compact profile and paste it into the bug report so support staff see the same browser, OS, screen size, GPU renderer, and connection details. The data never leaves the local tab, which is useful when the issue involves regulated internal devices, locked-down kiosk hardware, or a corporate-managed laptop where uploading fingerprints would breach policy.

Technical Principle

Every signal on the page comes from a documented browser API rather than a fingerprinting database. The browser identity is read from navigator.userAgent on legacy paths and from navigator.userAgentData (User-Agent Client Hints) on Chromium, which returns a structured high-entropy object via getHighEntropyValues(['platform', 'platformVersion', 'model']). Hardware indicators include navigator.hardwareConcurrency (logical CPU cores) and navigator.deviceMemory, which is intentionally rounded to one of 0.25, 0.5, 1, 2, 4, or 8 GB to limit fingerprint entropy. Display characteristics come from screen.width, screen.height, screen.availWidth, screen.colorDepth, window.devicePixelRatio, and window.matchMedia('(orientation: portrait)') / matchMedia('(prefers-color-scheme: dark)'). GPU information requires a WebGL context: after creating one with canvas.getContext('webgl'), the page calls getExtension('WEBGL_debug_renderer_info') and reads UNMASKED_VENDOR_WEBGL and UNMASKED_RENDERER_WEBGL. Many browsers, especially Safari and Firefox in private mode, mask this extension to a generic string for anti-fingerprinting. Network details use the Network Information API: navigator.connection.effectiveType returns '4g' / '3g' / 'slow-2g' as a coarse classification, with downlink in Mbps and rtt in ms. Battery, geolocation, clipboard, and notification permissions all live behind explicit user consent or are gated by Permissions Policy. Capability probing for WebAssembly, WebGPU, Service Worker, IndexedDB, and the rest is feature-detection on the corresponding global (typeof WebAssembly !== 'undefined', 'serviceWorker' in navigator). All checks run synchronously or with promises in the local tab; nothing is sent to a server.

  • UA detection: navigator.userAgent (legacy) plus navigator.userAgentData.getHighEntropyValues() (UA-CH on Chromium 90+)
  • Hardware: navigator.hardwareConcurrency (logical cores) and navigator.deviceMemory (rounded to 0.25/0.5/1/2/4/8 GB for anti-fingerprinting)
  • Display: screen.width/height, screen.colorDepth, window.devicePixelRatio, matchMedia('(prefers-color-scheme: dark)')
  • GPU: WebGL getExtension('WEBGL_debug_renderer_info') then getParameter(UNMASKED_RENDERER_WEBGL); Safari often returns a generic string
  • Network: navigator.connection.effectiveType ('4g'/'3g'/'slow-2g'), downlink in Mbps, rtt in ms; Network Information API
  • Capabilities: feature detection (typeof WebAssembly !== 'undefined', 'serviceWorker' in navigator, navigator.gpu for WebGPU)
  • Permissions: Battery, Geolocation, Clipboard, Notifications all gated by Permissions API or user prompt; many fields show '-' until granted

Examples

Technical Support & Troubleshooting

When your computer has issues, use this tool to quickly gather system information and provide it to technical support staff, helping them locate and resolve problems faster and saving communication time.

Frontend Development & Compatibility Testing

Web developers can use this tool to check parameter differences across different devices and browsers, such as screen resolution, pixel ratio, WebGL support, etc., ensuring websites display and function correctly in various environments.

Used Device Verification

When purchasing used computers or phones, use this tool to verify that hardware specifications match the seller's description, such as CPU cores, memory size, screen resolution, etc., avoiding being deceived.

Network Performance Diagnostics

When network issues occur, check network connection type, downlink speed, latency and other parameters to determine whether it's a local network issue or server-side problem, providing basis for network troubleshooting.

Browser Capability Detection

Before developing web applications, check whether the target browser supports required Web APIs, such as WebAssembly, WebGPU, Service Worker, etc., providing reference for technology selection.

Device Information Recording

IT administrators can use this tool to batch record company device configuration information, establish device archives, facilitating asset management and maintenance planning.

FAQ

What does the system check report?

Browser name and version, operating system, screen resolution and color depth, time zone, language, hardware concurrency (CPU thread count), device memory (where the browser exposes it), GPU vendor/model, available storage estimate, network connection type and downlink speed, and feature-support flags (WebGL, WebGPU, WebAssembly, etc.).

Why is some information missing?

Modern browsers restrict identifying information for privacy. navigator.deviceMemory and navigator.hardwareConcurrency report rounded or capped values. GPU model is exposed via WebGL only if the unmasked extension is enabled. Safari and Firefox in private mode hide more than Chrome. Missing fields are the browser saying no, not a tool failure.

Can it detect VPN or proxy use?

It can show the public IP and IP-based geolocation, which often differ from the system time zone if you're using a VPN or live abroad. The page does not actively probe for VPN; cross-checking IP location vs. time zone is the simplest signal.

How accurate is the network speed reading?

navigator.connection (where supported) reports the device's connection type (4g, wifi) and an effective downlink estimate from recent network samples. It is not a real bandwidth test - use Speedtest or fast.com for that. Chrome on Windows/Linux tends to populate this; Firefox and Safari often don't.

Is anything uploaded?

The page reads system info from browser APIs and renders locally. The IP geolocation lookup, if shown, requires a network call to a public IP-info service. Other fields are local-only.

Can I share the result with tech support?

Yes - copy the report into your support ticket. Helpful for debugging environment-specific bugs ('it works on my machine'). Be aware the report contains identifying info (IP, timezone, screen resolution, GPU); don't paste it into a public forum without redacting.

Why does my CPU thread count look low?

navigator.hardwareConcurrency is capped at 8-16 in some browsers/configurations to limit fingerprinting. A 12-core machine may show 8. The actual core count for your code is your OS reading; the browser-exposed value is just a hint.