Device Information Dashboard
Comprehensive view of all device and browser capabilities including geolocation, battery, network, screen info, storage, and more.
Browser Support
ā ļø Permission Required
This demo requires explicit permission to access sensitive device data. Your browser will ask for permission before sharing this information. You can always deny access or revoke permissions later in your browser settings.
Understanding Data Access & Privacy
ā No Permission Needed
This data is automatically available to all websites without asking for your consent. It's used for responsive design, feature detection, and improving user experience.
Examples: Browser type, screen size, language, timezone, storage quota
š Requires Permission
Your browser will ask for explicit permission before sharing this sensitive data. You can always deny access or revoke permissions later in browser settings.
Examples: GPS location, camera/microphone, device motion/orientation (iOS)
Browser Informationā No Permission Needed
User Agent: Node.js/24
Platform: Linux x86_64
Language: en-US
Languages: en-US
Online Status: Offline
Cookies Enabled: No
Do Not Track: Not set
Screen Informationā No Permission Needed
Screen Width: N/Apx
Screen Height: N/Apx
Available Width: N/Apx
Available Height: N/Apx
Color Depth: N/A bits
Pixel Depth: N/A bits
Pixel Ratio: N/A
Orientation: N/A
Window Informationā No Permission Needed
Inner Width: N/Apx
Inner Height: N/Apx
Outer Width: N/Apx
Outer Height: N/Apx
Scroll X: N/Apx
Scroll Y: N/Apx
Geolocationš Requires Permission
Requesting location access...
Battery Informationā No Permission Needed
Battery API not supported
Network Informationā No Permission Needed
Network Information API not supported
Device Capabilitiesā No Permission Needed
Touch Support: No
Hardware Concurrency: 2 cores
Device Memory: N/A
PDF Viewer: Disabled
WebGL: Not Supported
WebRTC: Not Supported
Service Worker: Not Supported
Notifications: Not Supported
Device Orientationš Requires Permission
Alpha (Z-axis): 0°
Beta (X-axis): 0°
Gamma (Y-axis): 0°
* Tilt your device to see orientation changes
* iOS 13+ requires explicit permission
Device Motion (Acceleration)š Requires Permission
X-axis: 0 m/s²
Y-axis: 0 m/s²
Z-axis: 0 m/s²
* Move your device to see acceleration changes
* iOS 13+ requires explicit permission
Media Devicesš Requires Permission
No media devices found or permission not granted
Storage Informationā No Permission Needed
Storage Quota API not supported or loading...
localStorage: Not Available
sessionStorage: Not Available
IndexedDB: Not Available
Cookies: None
Browser Featuresā No Permission Needed
Clipboard API: Not Available
Geolocation API: Not Available
Vibration API: Not Available
Battery API: Not Available
Network Info API: Not Available
Payment API: Not Available
Web Bluetooth: Not Available
Web USB: Not Available
Timezone & Timeā No Permission Needed
Timezone: UTC
Timezone Offset: 0 minutes
Current Time: 1/23/2026, 10:10:20 AM
Timestamp: 1769163020624
Why Websites Collect This Data: Real-World Use Cases
Every piece of device information has legitimate practical purposes. Here's how developers actually use this data in real projects.
Required for basic functionality
Improves user experience
Understanding user behavior
Potential misuse risk
š±Screen Size & Resolution
Responsive Design
E-commerce sites like Amazon show different layouts on mobile vs desktop. On mobile (< 768px), they show a hamburger menu and single-column product grid. On desktop (> 1024px), they show sidebar navigation and multi-column layout.
// Detect mobile/desktop
if (window.innerWidth < 768) {
showMobileLayout();
} else {
showDesktopLayout();
}Image Optimization
Netflix uses devicePixelRatio to serve high-quality images to Retina displays and lower quality to standard displays, saving 40% bandwidth for standard screens.
// Serve appropriate image quality
const imageSrc = window.devicePixelRatio > 1
? 'image@2x.jpg' // High-res for Retina
: 'image.jpg'; // Standard qualityVirtual Keyboard Detection
When you type in a form on mobile, Instagram detects the keyboard appearing (by watching screen height changes) and scrolls the input field into view automatically.
// Detect virtual keyboard
window.addEventListener('resize', () => {
if (window.innerHeight < prevHeight) {
// Keyboard appeared
scrollInputIntoView();
}
});šUser Agent & Browser Detection
Feature Compatibility
WhatsApp Web shows a warning if you're using Internet Explorer: 'This browser is not supported. Please use Chrome, Firefox, Safari, or Edge.' They detect IE through User Agent and prevent broken experiences.
// Detect unsupported browser
if (navigator.userAgent.includes('MSIE') ||
navigator.userAgent.includes('Trident')) {
showUpgradeBrowserMessage();
}Bug Fixes & Workarounds
Google Docs applies Safari-specific CSS fixes because Safari has different rendering behaviors for contenteditable elements. They detect Safari and apply workarounds.
Download Links
When you visit Zoom's download page, it automatically highlights the right download button (Windows .exe, Mac .dmg, or Linux .deb) based on your platform from navigator.platform.
šGeolocation (GPS)
Location-Based Services
Uber uses your GPS location to show nearby drivers, calculate pickup time, and determine the route. Without geolocation, the core service wouldn't work.
Local Content
McDonald's website uses your location to find the nearest restaurant and show location-specific menu items and prices. Each location may have different menus and promotions.
navigator.geolocation.getCurrentPosition((pos) => {
const lat = pos.coords.latitude;
const lng = pos.coords.longitude;
findNearestRestaurant(lat, lng);
});Weather & News
Weather.com automatically shows your local weather forecast based on your GPS coordinates, without you having to type in your city name.
šLanguage & Timezone
Automatic Translation
AirBnB detects navigator.language and automatically shows content in Spanish if your browser is set to 'es-MX', saving you from manually selecting language.
// Auto-detect language
const userLang = navigator.language; // 'en-US'
const lang = userLang.split('-')[0]; // 'en'
loadTranslations(lang);Time Display
Calendly uses your timezone (Intl.DateTimeFormat().resolvedOptions().timeZone) to show meeting times in your local time, even if the meeting was scheduled in a different timezone.
// Convert to user's timezone
const userTZ = Intl.DateTimeFormat()
.resolvedOptions().timeZone;
const localTime = new Date(utcTime)
.toLocaleString('en-US', { timeZone: userTZ });Fraud Prevention
Banks compare your timezone with the timezone of your last login. If you logged in from New York 5 minutes ago and now from Tokyo, they flag it as suspicious and require additional verification.
š¾Storage Quota & Usage
Offline-First Apps
Google Docs checks storage quota before downloading files for offline use. If you're low on storage (< 50MB available), it warns you and asks which files to prioritize.
const estimate = await navigator.storage.estimate();
const available = estimate.quota - estimate.usage;
if (available < 50 * 1024 * 1024) {
showLowStorageWarning();
}Cache Management
Spotify Web Player monitors storage usage. When cache exceeds 500MB, it automatically deletes oldest songs to make room for new downloads, ensuring the app doesn't consume all your storage.
Progressive Web Apps
Twitter PWA checks available storage before caching images and videos. If storage is limited, it only caches text content and loads images on-demand.
š¶Network Speed & Type
Adaptive Streaming
YouTube detects your connection speed (navigator.connection.downlink) and automatically adjusts video quality. On slow 3G (< 1 Mbps), it serves 360p. On fast WiFi (> 5 Mbps), it serves 1080p or 4K.
const connection = navigator.connection;
if (connection.effectiveType === '4g') {
loadHighQualityVideo(); // 1080p
} else if (connection.effectiveType === '3g') {
loadMediumQualityVideo(); // 480p
} else {
loadLowQualityVideo(); // 360p
}Data Saver Mode
When you enable 'Data Saver' in Chrome, navigator.connection.saveData becomes true. Twitter detects this and stops auto-playing videos, loading only thumbnails to save your data.
Preloading Strategy
Medium.com checks your connection speed before preloading next article. On fast WiFi, it preloads 3 articles ahead. On slow 3G, it only loads the current article to avoid wasting bandwidth.
šBattery Level & Charging Status
Power Saving Features
Facebook detects when your battery is below 20% and not charging. It automatically reduces animations, stops video auto-play, and dims UI elements to extend battery life.
navigator.getBattery().then((battery) => {
if (battery.level < 0.2 && !battery.charging) {
enablePowerSavingMode();
// Disable animations, reduce polling
}
});Download Management
Google Play Store pauses large app downloads when battery drops below 15% and resumes when you start charging, preventing your phone from dying mid-download.
āļøCPU, RAM & Hardware
Performance Optimization
Google Maps checks navigator.hardwareConcurrency (CPU cores) and navigator.deviceMemory (RAM). On low-end devices (2 cores, 2GB RAM), it limits the number of map markers rendered at once to prevent lag.
const isLowEndDevice =
navigator.hardwareConcurrency <= 2 ||
navigator.deviceMemory <= 2;
if (isLowEndDevice) {
renderSimplifiedGraphics();
limitMapMarkers(50); // Max 50 markers
} else {
renderFullGraphics();
limitMapMarkers(500); // Max 500 markers
}Game Settings
Cloud gaming services like GeForce NOW detect your device specs. On low-end devices, they automatically set graphics to 'Low', disable ray tracing, and cap framerate at 30fps.
šTouch Support & Input Method
UI Adaptation
Google Sheets detects touch support (navigator.maxTouchPoints > 0) and increases the size of cell borders and resize handles from 2px to 10px, making them easier to tap on touchscreens.
const isTouchDevice = navigator.maxTouchPoints > 0;
const buttonSize = isTouchDevice ? '44px' : '32px';
// Touch targets should be at least 44x44pxInteraction Patterns
Pinterest shows swipe indicators on touch devices but uses scroll bars on desktop. They detect touch support and adjust the UI accordingly.
š³Device Motion & Orientation
Gaming Controls
Racing games in the browser use device orientation as steering. Tilt your phone left to turn left, right to turn right. This creates an immersive mobile gaming experience.
window.addEventListener('deviceorientation', (e) => {
const tilt = e.gamma; // -90 to 90
steerCar(tilt);
});AR Applications
IKEA Place app uses device orientation to overlay 3D furniture models in your room. As you move your phone, the furniture stays positioned correctly in space.
Shake Gestures
Yelp app detects phone shaking (using accelerometer) to trigger 'Shake to Search Nearby' feature, finding restaurants around you with a simple shake gesture.
š·Camera & Microphone
Video Conferencing
Zoom Web uses navigator.mediaDevices.getUserMedia() to access your camera and microphone. It also lists available devices so you can choose between front/back camera or multiple microphones.
// Request camera/mic access
const stream = await navigator.mediaDevices
.getUserMedia({
video: true,
audio: true
});
// List available devices
const devices = await navigator.mediaDevices
.enumerateDevices();QR Code Scanner
WhatsApp Web uses your phone camera to scan QR codes for login. The camera access is temporary and only used for scanning.
Photo Upload
Instagram detects available cameras and lets you choose between front/back camera when taking photos directly in the browser.
šOnline/Offline Status
Offline Functionality
Gmail detects when you go offline (navigator.onLine = false) and shows a banner: 'No internet connection. Working offline.' It queues your emails and sends them when you're back online.
window.addEventListener('offline', () => {
showOfflineBanner();
queueActions(); // Save for later
});
window.addEventListener('online', () => {
syncQueuedActions(); // Send queued data
});Auto-Retry
Slack automatically retries failed messages when you come back online. It listens for the 'online' event and resends messages that failed during offline period.
šŖCookie & Storage Detection
Feature Fallbacks
Websites check if localStorage is available. If it's blocked (e.g., in private browsing), they fall back to cookies or session storage to maintain basic functionality.
// Check if localStorage is available
function isLocalStorageAvailable() {
try {
localStorage.setItem('test', 'test');
localStorage.removeItem('test');
return true;
} catch (e) {
return false; // Use cookies instead
}
}šAnalytics & User Insights
Understanding Your Audience
A developer notices 40% of users are on mobile devices with screen width < 400px. They prioritize mobile optimization and redesign their navigation for small screens.
Bug Reporting
When an error occurs, error tracking tools (like Sentry) automatically capture browser version, OS, screen size, and timezone. This helps developers reproduce and fix bugs faster. For example: 'Bug only occurs on Safari 14 on iOS with screen width < 375px.'
// Automatic error context
window.onerror = (msg, url, line) => {
sendErrorReport({
message: msg,
browser: navigator.userAgent,
screen: `${window.innerWidth}x${window.innerHeight}`,
platform: navigator.platform
});
};ā ļøPrivacy Concerns & Fingerprinting
Browser Fingerprinting (Controversial)
Some ad companies combine multiple data points (screen size + timezone + language + installed fonts + canvas rendering) to create a unique 'fingerprint' that tracks you across websites without cookies. This is why privacy-focused browsers like Brave block fingerprinting.
Location Tracking
A malicious website might track your GPS coordinates over time to build a pattern of your movements. This is why browsers ALWAYS ask permission for geolocation and show an icon when location is being accessed.
How to Protect Your Privacy:
- Only grant permissions to trusted websites
- Revoke permissions you no longer need (in browser settings)
- Use privacy-focused browsers like Firefox or Brave
- Enable "Do Not Track" in browser settings
- Use browser extensions like Privacy Badger or uBlock Origin
- Clear cookies and site data regularly
Summary: Why This Matters
Legitimate Uses (95% of cases):
- Making websites work properly on different devices (responsive design)
- Providing better user experience (right language, timezone, image quality)
- Saving bandwidth and battery (adaptive loading, power saving)
- Enabling core features (maps, video calls, offline mode)
- Fixing bugs and improving performance
Privacy Concerns (5% of cases):
- Fingerprinting for cross-site tracking
- Excessive data collection without clear purpose
- Sharing data with third parties without consent
The Bottom Line:
Most device data is used for legitimate purposes to make websites work better. However, it's important to be aware of what data is being collected and only grant sensitive permissions (location, camera, microphone) to websites you trust. Browsers protect you by requiring explicit permission for sensitive data and showing indicators when it's being accessed.
š Your Privacy Matters
This demo runs entirely in your browser. No data is sent to any server. All information shown is generated locally from browser APIs. You can verify this by checking your browser's network tab.
How to protect your privacy:
- ⢠Only grant permissions to trusted websites
- ⢠Review active permissions in browser settings
- ⢠Clear site data to reset permissions
Browser Settings:
- ⢠Chrome: Settings ā Privacy and security
- ⢠Firefox: Settings ā Privacy & Security
- ⢠Safari: Preferences ā Privacy