Screen Fingerprinting : résolution et densité de pixels vous identifient
Navigateur & Appareil

Screen Fingerprinting : résolution et densité de pixels vous identifient

Le screen fingerprinting lit screen.width, screen.height et devicePixelRatio pour construire un profil d'appareil stable — sans cookies. Données Retina, HDR et protection RGPD expliqués.

7 min de lecture·

Le screen fingerprinting lit la résolution de votre écran, sa densité de pixels et sa profondeur de couleur via les API de navigateur intégrées pour construire un identifiant stable qui persiste entre les sessions, les fenêtres privées et les connexions VPN. Voyez exactement ce que votre écran expose dès maintenant sur whatsmy.fyi.

En résumé

Le screen fingerprinting combine des valeurs de window.screen et window.devicePixelRatio — votre résolution d'affichage, le viewport disponible, la profondeur de couleur et le ratio de densité de pixels — pour créer un identifiant de périphérique persistant. Seul, il contribue 3 à 5 bits d'entropie ; combiné avec d'autres signaux de fingerprinting, il devient un tracker fiable inter-sessions qu'aucune suppression de cookies ou navigation privée ne peut contrer.

Qu'est-ce que le screen fingerprinting ?

Le screen fingerprinting est une technique de pistage passif qui récolte les caractéristiques d'affichage exposées par l' API Screen et la propriété window.devicePixelRatio. Ces API ont été conçues pour aider les développeurs web à créer des mises en page adaptatives et à dimensionner correctement les images pour les écrans haute densité — mais elles transmettent simultanément aux scripts de fingerprinting une description détaillée de votre moniteur physique et de votre configuration matérielle.

Contrairement au canvas ou au WebGL fingerprinting, le screen fingerprinting ne nécessite aucun rendu — les valeurs sont disponibles de façon synchrone, sans aucun calcul, dès le chargement d'une page. Une seule ligne de JavaScript suffit à lire le profil écran complet d'un appareil.

Le screen fingerprinting est un signal clé dans la famille plus large des techniques de browser fingerprinting. Il est routinièrement combiné avec les données GPU du WebGL fingerprinting, les données de pile audio de l' audio fingerprinting et les différences de rendu capturées par le canvas fingerprinting pour former un identifiant composite.

Comment fonctionne le screen fingerprinting ?

Chaque navigateur expose un ensemble de propriétés en lecture seule décrivant l'affichage physique et la relation entre les pixels CSS et les pixels physiques. Les scripts de fingerprinting les collectent tous en une seule passe.

Les propriétés fondamentales

screen.width / screen.height — Les dimensions totales en pixels de l'affichage physique, rapportées en pixels CSS. Un moniteur 1920×1080 à 100 % de mise à l'échelle rapporte 1920 × 1080. Le même moniteur à 125 % de mise à l'échelle Windows rapporte 1536 × 864, révélant immédiatement le paramètre de mise à l'échelle du système d'exploitation.

screen.availWidth / screen.availHeight — La partie de l'écran disponible pour les fenêtres de navigateur, après soustraction des barres des tâches, docks et UI système. Sur une machine Windows 1920×1080 avec une barre des tâches de 40 px en bas, availHeight est 1040. Cela révèle quel OS vous utilisez et si votre barre des tâches est visible, épinglée ou en masquage auto.

window.devicePixelRatio — Le ratio de pixels d'affichage physiques aux pixels CSS. Un moniteur 1080p standard a un ratio de 1. Un MacBook Pro Retina a 2. Un iMac 5K 27 pouces a également 2. Un flagship Android moderne à 3× de mise à l'échelle a 3. Cette seule valeur distingue fiablement les appareils HiDPI des écrans standard.

screen.colorDepth / screen.pixelDepth — Le nombre de bits utilisés pour représenter la couleur de chaque pixel. En pratique c'est 24 sur pratiquement tous les appareils modernes, mais les systèmes hérités et certaines configurations de bureau à distance retournent 16 ou 8.

screen.orientation.type — Indique si l'affichage est en orientation portrait ou paysage. Sur un bureau c'est toujours landscape-primary ; sur mobile ça change.

// Screen fingerprinting — toutes les valeurs sont synchrones, aucun rendu nécessaire
function getScreenFingerprint() {
  const dpr = window.devicePixelRatio;

  return {
    screenWidth:      window.screen.width,
    screenHeight:     window.screen.height,
    availWidth:       window.screen.availWidth,
    availHeight:      window.screen.availHeight,
    devicePixelRatio: dpr,
    physicalWidth:    Math.round(window.screen.width * dpr),
    physicalHeight:   Math.round(window.screen.height * dpr),
    colorDepth:       window.screen.colorDepth,
    pixelDepth:       window.screen.pixelDepth,
    innerWidth:       window.innerWidth,
    innerHeight:      window.innerHeight,
    orientation:      screen.orientation?.type ?? 'unknown',
  };
}

// Exemple — MacBook Pro 14 pouces (2023), Chrome, plein écran
// {
//   screenWidth: 1512, screenHeight: 982,
//   availWidth: 1512,  availHeight: 932,   ← barre de menu macOS 50px
//   devicePixelRatio: 2,
//   physicalWidth: 3024, physicalHeight: 1964,
//   colorDepth: 24, pixelDepth: 24,
//   innerWidth: 1512, innerHeight: 879,
//   orientation: 'landscape-primary'
// }

Quelle est l'unicité d'une empreinte écran ?

Signal / RésultatValeurSource
Entropie de la résolution seule~3,3 bitsEFF Cover Your Tracks
Entropie avec devicePixelRatio ajouté~4,8 bitsBrowserLeaks
Résolution la plus courante mondialement (1920×1080)~24 % des utilisateursStatcounter GlobalStats, 2025
Utilisateurs avec profil écran unique (résolution + DPR + mise à l'échelle OS)~18 %Fingerprint.com
Valeurs distinctes de devicePixelRatio observées1, 1,25, 1,5, 1,75, 2, 2,5, 3, 3,5Jeu de données BrowserLeaks
Précision combinée (écran + canvas + WebGL)>95 %Fingerprint.com Pro

Screen fingerprinting et droit — RGPD et CNIL

Le W3C Fingerprinting Guidance liste explicitement screen.width, screen.height et devicePixelRatio comme vecteurs de fingerprinting. Selon le RGPD, les données de fingerprinting qui peuvent raisonnablement être liées à un individu constituent un traitement de données personnelles, nécessitant soit un consentement éclairé soit une justification d'intérêt légitime. La CNIL et l'ICO britannique ont toutes deux déclaré que le fingerprinting à des fins publicitaires requiert un consentement explicite opt-in.

Comment se protéger du screen fingerprinting

  • Tor Browser (protection maximale) : Tor normalise toutes les valeurs d'écran — il rapporte une résolution standardisée de 1000×900 (ou similaire) indépendamment de votre affichage réel, et fixe devicePixelRatio à 1. Chaque utilisateur Tor paraît identique aux scripts de fingerprinting.
  • Firefox avec privacy.resistFingerprinting (RFP) : Firefox arrondit les dimensions d'écran à une valeur standardisée et plafonne devicePixelRatio à 1. Les tailles de viewport sont arrondies au palier de 200×100 pixels le plus proche.
  • Brave Browser (recommandé pour l'usage quotidien) : Brave applique sa technique Farbling aux données d'écran — il introduit une petite valeur de bruit unique par session et par origine dans screen.width, screen.height et devicePixelRatio. Votre empreinte change à chaque session et diffère entre sites.
  • Éviter la mise à l'échelle OS non standard : Les utilisateurs Windows qui définissent une mise à l'échelle à 125 % ou 150 % produisent des valeurs screenWidth inhabituelles (ex. : 1536 depuis un moniteur 1920 px) qui sont plus rares et donc plus identifiantes.
  • VPN — utile mais insuffisant : Un VPN masque votre adresse IP mais n'a aucun effet sur vos propriétés d'écran. Vérifiez ce que révèle votre IP réelle sur whatsmy.fyi.

Foire aux questions

Le screen fingerprinting fonctionne-t-il en navigation privée ?

Oui. La navigation privée ne change pas votre affichage physique. Votre screen.width, screen.height et devicePixelRatio sont identiques en navigation privée et en fenêtre normale. Seuls les navigateurs avec une normalisation d'affichage active — Tor Browser ou Firefox avec privacy.resistFingerprinting — produisent des valeurs différentes.

Le changement de niveau de zoom du navigateur affecte-t-il mon empreinte écran ?

Le zoom du navigateur affecte window.devicePixelRatio dans certains navigateurs — Chrome, par exemple, multiplie le DPR matériel de base par le facteur de zoom, donc un zoom à 125 % sur un affichage 1080p standard produit un devicePixelRatio de 1,25 au lieu de 1. Cela peut augmenter l'entropie si votre niveau de zoom est non standard.

Un site web peut-il détecter mon écran physique même si je redimensionne la fenêtre ?

Oui. screen.width et screen.height reflètent toujours les dimensions complètes de l'affichage physique — ils ne changent pas quand vous redimensionnez la fenêtre du navigateur. window.innerWidth et window.innerHeight changent avec la taille de la fenêtre, mais les valeurs screen.* sont fixées au matériel.

Articles connexes

Vérifiez votre adresse IP, localisation et score de confidentialité — instantanément.

Zéro log. Zéro tracking. Zéro API externe.

Lancer la vérification →

Articles connexes

Screen Fingerprinting : résolution et densité de pixels vous identifient | whatsmy.fyi