Comment trouver les coordonnees de pixel sur votre ecran

Vous avez besoin de la position X/Y exacte d un pixel et tout de suite -- peut-etre pour un script d automatisation, peut-etre pour aligner un element d interface, peut-etre pour signaler un bug avec des etapes precises. Quelle que soit la raison, cette page couvre toutes les methodes pratiques : outils integres au systeme, commandes terminal, DevTools du navigateur, et un selecteur en direct que vous pouvez essayer sans rien installer.

Ouvrir l outil complet de coordonnees
Deplacez la souris ici -- les coordonnees se mettent a jour en direct
0, 0
0
0
0
0

Demo rapide : selecteur de coordonnees

Le cadre ci-dessus est interactif. Deplacez la souris dessus et vous verrez quatre valeurs se mettre a jour en temps reel : X et Y sont mesures depuis le coin superieur gauche de tout votre ecran, tandis que X relatif et Y relatif sont mesures depuis le coin superieur gauche du cadre de demo lui-meme.

Cette distinction -- coordonnees d ecran versus coordonnees relatives a l element -- est la source de confusion la plus courante quand on commence a travailler avec des positions de pixels.

Conseil pratique : Pour un script d automatisation qui doit cliquer sur un bouton, vous voulez presque toujours des coordonnees d ecran. Pour une application web, vous voulez generalement des coordonnees relatives (offsetX/offsetY).

Windows : PowerShell et Snipping Tool

Windows n integre aucun outil affichant les coordonnees. Il n existe pas d application native qui suit votre curseur et affiche les valeurs X/Y. Vous avez trois options reelles.

Option 1 : PowerShell + API Win32 (pret a copier)

Utilise la meme fonction GetCursorPos que chaque application Windows utilise en interne, donc les coordonnees sont en pixels physiques. Collez ceci dans PowerShell :

Add-Type @"
using System;
using System.Runtime.InteropServices;
public class User32 {
    [StructLayout(LayoutKind.Sequential)]
    public struct POINT { public int X; public int Y; }
    [DllImport("user32.dll")]
    public static extern bool GetCursorPos(out POINT lpPoint);
}
"@
while ($true) {
    $p = New-Object User32+POINT
    [User32]::GetCursorPos([ref]$p)
    Write-Host "`rX: $($p.X)  Y: $($p.Y)" -NoNewline
    Start-Sleep -Milliseconds 100
}

Deplacez la souris et observez. Ctrl+C pour arreter.

Attention DPI : Sous Windows 10/11 avec une mise a l echelle superieure a 100%, GetCursorPos renvoie des pixels physiques. Le navigateur peut utiliser des pixels CSS. Cette difference est la premiere cause de clics d automatisation qui ratent leur cible.

Option 2 : Snipping Tool (pour des lectures rapides)

L outil de capture n affiche pas directement les coordonnees, mais quand vous commencez une capture, le viseur affiche sa position en pixels dans une infobulle. Appuyez sur Win + Shift + S.

Option 3 : Python avec PyAutoGUI

import pyautogui, time
while True:
    x, y = pyautogui.position()
    print(f"\rX: {x}  Y: {y}", end="", flush=True)
    time.sleep(0.1)

Plus de details dans notre guide PyAutoGUI.

macOS : Digital Color Meter et terminal

macOS est mieux equipe que Windows pour cette tache. Vous disposez d un utilitaire integre qui affiche les coordonnees en direct.

Integre : Digital Color Meter

Ouvrez Spotlight (Cmd + Espace) et tapez "Digital Color Meter". Cette application, dans Applications / Utilitaires, affiche la position du curseur en temps reel en bas de sa fenetre.

Astuce : Redimensionnez la fenetre pour qu elle soit petite et deplacez-la dans un coin pour ne pas bloquer la zone a mesurer.

Terminal : Python + Quartz

Le framework Quartz fournit les memes donnees de coordonnees que le systeme d exploitation. Attention : macOS mesure Y depuis le bas de l ecran.

import Quartz, time
while True:
    loc = Quartz.CGEventGetLocation(
        Quartz.CGEventCreate(None))
    h = Quartz.CGDisplayPixelsHigh(
        Quartz.CGMainDisplayID())
    # Y macOS depuis le bas ; inverser vers origine haut-gauche
    print(f"\rX: {int(loc.x)}  Y: {int(h - loc.y)}",
          end="", flush=True)
    time.sleep(0.1)

Installez avec pip install pyobjc-framework-Quartz.

Linux : xdotool et xwininfo

Linux dispose des meilleurs outils en ligne de commande pour le travail avec les coordonnees, en partie parce que X11 a ete concu pour etre scriptable des le depart.

xdotool : lecture unique des coordonnees

xdotool getmouselocation --shell
# X=1920
# Y=540
# SCREEN=0
# WINDOW=16777216
eval "$(xdotool getmouselocation --shell)"
echo "Souris a $X, $Y sur l ecran $SCREEN"

Suivi en direct

while true; do
    eval "$(xdotool getmouselocation --shell)"
    printf "\rX: %-5s  Y: %-5s" "$X" "$Y"
    sleep 0.1
done

Utilisateurs Wayland : xdotool et xwininfo sont des outils X11. Sous Wayland, ils peuvent renvoyer des zeros ou echouer silencieusement.

Dans le navigateur : DevTools et JavaScript

Pour les coordonnees dans une page web, vous n avez pas besoin d outils systeme. Le navigateur fournit tout via JavaScript.

Extrait pour la console DevTools

document.addEventListener('mousemove', e => {
  console.clear();
  console.log('Screen:  ' + e.screenX + ', ' + e.screenY);
  console.log('Client:   ' + e.clientX + ', ' + e.clientY);
  console.log('Page:     ' + e.pageX + ', ' + e.pageY);
  console.log('Offset:   ' + e.offsetX + ', ' + e.offsetY);
});
ProprieteOrigineAware du scroll ?Cas d usage
screenX / screenYMoniteur physiqueNonMulti-ecran, automatisation OS
clientX / clientYViewport du navigateurNonCanvas, positionnement d overlay
pageX / pageYDocument completOuiPosition absolue du document
offsetX / offsetYElement sous le curseurOuiInteraction relative a l element

Mise a l echelle DPI : pourquoi vos coordonnees sont fausses

Si vous avez deja ecrit un script qui fonctionne sur un ordinateur mais rate de quelques pixels sur un autre, la mise a l echelle DPI est presque certainement la cause.

Les ecrans modernes utilisent souvent un facteur d echelle superieur a 100%. Un ecran 4K a 150% signale moins de pixels logiques que physiques. Le probleme : differentes couches logicielles peuvent signaler des coordonnees dans des unites differentes.

Solution : Verifiez window.devicePixelRatio dans la console du navigateur. Si la valeur est 1.5, multipliez les coordonnees CSS par 1.5 pour obtenir les pixels physiques. Voir notre guide de mise a l echelle DPI.

Multi-ecrans et coordonnees negatives

Le coin superieur gauche de l ecran principal est toujours (0, 0). Les ecrans secondaires etendent le plan de coordonnees. Un ecran a gauche du principal a des coordonnees negatives.

Position de l ecranPlage de coordonneesExemple
Principal (centre)0 a +largeur, 0 a +hauteur0,0 a 1920,1080
A gauche du principal-largeur a -1-1920,0 a -1,1080
A droite du principal+principal a +(prin+sec)1920,0 a 3840,1080
Au-dessus du principal-hauteur a -1 (axe Y)0,-1080 a 1920,-1

Explication complete dans notre guide multi-ecrans.

Tableau comparatif des methodes

MethodePlateformePrecisionScriptable ?Ideal pour
PowerShell + GetCursorPosWindowsExact (px physique)OuiScripts d automatisation
Snipping ToolWindowsApproximatifNonEstimation visuelle
PyAutoGUIToutesExactOuiAutomatisation multiplateforme
Digital Color MetermacOSExactNonLectures rapides
Python + QuartzmacOSExactOuiScripts d automatisation Mac
xdotoolLinux (X11)ExactOuiScripts shell
Console DevToolsNavigateurExact (px CSS)OuiDeveloppement web
Picker en ligne (cette page)NavigateurExactNonLectures sans installation

Questions frequentes

Pourquoi mes coordonnees different sur deux ordinateurs avec le meme ecran ?

Presque toujours la mise a l echelle DPI. Deux ecrans 1920x1080 peuvent donner des valeurs differentes si l un est a 125% et l autre a 100%. Verifiez window.devicePixelRatio.

Puis-je obtenir des coordonnees sur un appareil tactile ?

Oui. Les evenements tactiles fournissent touches[0].clientX et touches[0].clientY, qui fonctionnent comme les coordonnees de souris.

Puis-je obtenir les coordonnees d un element precis au lieu du curseur ?

Oui. Dans le navigateur, utilisez element.getBoundingClientRect(). Pour les applications de bureau, les API d accessibilite peuvent enumerer les elements sans avoir besoin de coordonnees de pixels.

Quelle est la difference entre pixels logiques et physiques ?

Les pixels physiques sont les points reels du materiel. Les pixels logiques (ou pixels CSS) sont une couche d abstraction pour les ecrans haute DPI. A 100% ils sont identiques. Voir notre guide pixels physiques vs logiques.

Existe-t-il un raccourci clavier pour afficher les coordonnees sous Windows ?

Pas de raccourci integre. Le plus proche est le viseur du Snipping Tool (Win + Shift + S). Vous pouvez assigner un raccourci au script PowerShell avec AutoHotkey.

Retour a l outil de coordonnees