Pixelkoordinaten auf dem Bildschirm finden

Sie benoetigen die genaue X/Y-Position eines Pixels und das sofort -- vielleicht fuer ein Automatisierungsskript, vielleicht um ein UI-Element auszurichten, vielleicht um einen Bug mit praezisen Reproduktionsschritten zu melden. Was auch Sie hierher gebracht hat, diese Seite behandelt jede praktische Methode: eingebaute OS-Tools, Terminal-Befehle, Browser-DevTools und einen Live-Picker, den Sie ohne Installation ausprobieren koennen.

Vollstaendiges Koordinaten-Tool oeffnen
Maus hierher bewegen -- Koordinaten aktualisieren sich live
0, 0
0
0
0
0

Schnelldemo: Live-Koordinaten-Picker

Das Feld oben ist interaktiv. Bewegen Sie die Maus darueber und Sie sehen vier Werte sich in Echtzeit aktualisieren: X und Y werden von der oberen linken Ecke des gesamten Bildschirms gemessen, waehrend relative X und Y von der oberen linken Ecke des Demo-Felds selbst gemessen werden.

Diese Unterscheidung -- Bildschirmkoordinaten versus elementbezogene Koordinaten -- ist die haeufigste Verwirrungsquelle beim Arbeiten mit Pixelpositionen. Bildschirmkoordinaten sagen Ihnen, wo sich etwas auf dem Monitor befindet. Relative Koordinaten sagen Ihnen, wo es innerhalb eines bestimmten Fensters oder Elements ist.

Praktischer Hinweis: Wenn Sie ein Automatisierungsskript schreiben, das einen Klick ausfuehren muss, wollen Sie fast immer Bildschirmkoordinaten. Beim Bau einer Web-App wollen Sie normalerweise relative Koordinaten (offsetX/offsetY).

Windows: PowerShell und Snipping Tool

Windows hat keine eingebaute Koordinatenanzeige. Es gibt keine Anwendung, die dem Cursor folgt und X/Y-Werte anzeigt. Sie haben drei echte Optionen.

Option 1: PowerShell + Win32-API (kopierfertig)

Nutzt die gleiche GetCursorPos-Funktion, die jede Windows-Anwendung intern verwendet. Die Koordinaten sind physische Bildschirmpixel. In ein PowerShell-Fenster einfuegen:

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
}

Maus bewegen und Zahlen beobachten. Strg+C zum Stoppen.

DPI-Hinweis: Bei Windows 10/11 mit Skalierung ueber 100% gibt GetCursorPos physische Pixel zurueck. Browser melden jedoch CSS-Pixel. Diese Diskrepanz ist die haeufigste Ursache fuer Automatisierungs-Klicks, die danebengehen.

Option 2: Snipping Tool (fuer schnelle Ablesungen)

Das Snipping Tool zeigt keine Koordinaten direkt, aber wenn Sie einen Ausschnitt starten, zeigt das Fadenkreuz seine Pixelposition in einem kleinen Tooltip. Win + Shift + S druecken.

Option 3: Python mit PyAutoGUI

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

Mehr dazu in unserer PyAutoGUI-Anleitung.

macOS: Digital Color Meter und Terminal

macOS ist fuer diese Aufgabe besser ausgestattet als Windows. Sie bekommen ein eingebautes Tool, das Live-Koordinaten zeigt.

Eingebaut: Digital Color Meter

Spotlight oeffnen (Cmd + Leertaste) und "Digital Color Meter" eingeben. Diese App in Programme / Dienstprogramme zeigt die Cursor-Position in Echtzeit am unteren Fensterrand an.

Tipp: Verkleinern Sie das Fenster und schieben Sie es in eine Ecke, damit es den Messbereich nicht verdeckt.

Terminal: Python + Quartz

Das Quartz-Framework liefert dieselben Koordinatendaten wie das Betriebssystem. Achtung: macOS misst Y vom unteren Bildschirmrand.

import Quartz, time
while True:
    loc = Quartz.CGEventGetLocation(
        Quartz.CGEventCreate(None))
    h = Quartz.CGDisplayPixelsHigh(
        Quartz.CGMainDisplayID())
    # macOS Y von unten; auf Ursprung oben-links umkehren
    print(f"\rX: {int(loc.x)}  Y: {int(h - loc.y)}",
          end="", flush=True)
    time.sleep(0.1)

Installieren mit pip install pyobjc-framework-Quartz.

Linux: xdotool und xwininfo

Linux hat die besten Kommandozeilen-Tools fuer Koordinatenarbeit, teils weil X11 von Anfang an fuer Skriptbarkeit konzipiert wurde.

xdotool: Einmalige Koordinatenablesung

xdotool getmouselocation --shell
# X=1920
# Y=540
# SCREEN=0
# WINDOW=16777216
eval "$(xdotool getmouselocation --shell)"
echo "Maus bei $X, $Y auf Bildschirm $SCREEN"

Live-Verfolgung

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

Wayland-Nutzer: xdotool und xwininfo sind X11-Tools. Unter Wayland koennen sie Nullen zurueckgeben oder still scheitern.

Im Browser: DevTools und JavaScript

Fuer Koordinaten innerhalb einer Webseite brauchen Sie keine OS-Tools. Der Browser liefert alles ueber JavaScript.

DevTools-Console-Snippet

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);
});
EigenschaftUrsprungScroll-bewusst?Anwendungsfall
screenX / screenYPhysischer MonitorNeinMulti-Monitor, OS-Automatisierung
clientX / clientYBrowser-ViewportNeinCanvas, Overlays
pageX / pageYGesamtes DokumentJaAbsolute Dokumentposition
offsetX / offsetYElement unter CursorJaElementbezogene Interaktion

DPI-Skalierung: Warum Ihre Koordinaten falsch sind

Wenn Sie jemals ein Skript geschrieben haben, das auf einem Rechner funktioniert und auf einem anderen um ein paar Pixel danebengeht, ist DPI-Skalierung fast sicher schuld.

Moderne Displays nutzen oft einen Skalierungsfaktor ueber 100%. Ein 4K-Bildschirm bei 150% Skalierung meldet weniger logische als physische Pixel. Das Problem: verschiedene Softwareschichten koennen Koordinaten in verschiedenen Einheiten melden.

Loesung: Pruefen Sie window.devicePixelRatio in der Browser-Konsole. Bei 1.5 multiplizieren Sie CSS-Koordinaten mit 1.5 fuer physische Pixel. Siehe unsere DPI-Skalierungs-Anleitung.

Multi-Monitor und negative Koordinaten

Die obere linke Ecke des Hauptmonitors ist immer (0, 0). Sekundaermonitore erweitern die Koordinatenebene. Ein Monitor links vom Hauptmonitor hat negative Koordinaten.

Monitor-PositionKoordinatenbereichBeispiel
Hauptmonitor (Mitte)0 bis +Breite, 0 bis +Hoehe0,0 bis 1920,1080
Links vom Hauptmonitor-Breite bis -1-1920,0 bis -1,1080
Rechts vom Hauptmonitor+Haupt bis +(Haupt+Sekund)1920,0 bis 3840,1080
Ueber dem Hauptmonitor-Hoehe bis -1 (Y-Achse)0,-1080 bis 1920,-1

Vollstaendige Erklaerung in unserer Multi-Monitor-Anleitung.

Methodenvergleich

MethodePlattformPraezisionSkriptbar?Ideal fuer
PowerShell + GetCursorPosWindowsExakt (physische px)JaAutomatisierungsskripte
Snipping ToolWindowsUngefaehrNeinSchnelle Schaetzung
PyAutoGUIAlleExaktJaPlattformuebergreifende Automatisierung
Digital Color MetermacOSExaktNeinSchnelle Ablesungen
Python + QuartzmacOSExaktJaMac-Automatisierung
xdotoolLinux (X11)ExaktJaShell-Skripte
DevTools-KonsoleBrowserExakt (CSS-px)JaWeb-Entwicklung
Online-Picker (diese Seite)BrowserExaktNeinAblesung ohne Installation

Haeufig gestellte Fragen

Warum unterscheiden sich meine Koordinaten auf zwei Rechnern mit gleichem Bildschirm?

Fast immer DPI-Skalierung. Zwei 1920x1080-Bildschirme koennen verschiedene Werte liefern, wenn einer auf 125% und der andere auf 100% steht. Pruefen Sie window.devicePixelRatio.

Kann ich Koordinaten auf einem Touchscreen-Geraet abrufen?

Ja. Touch-Ereignisse bieten touches[0].clientX und touches[0].clientY, die genauso funktionieren wie Mauskoordinaten.

Kann ich Koordinaten eines bestimmten Elements statt des Cursors abrufen?

Ja. Im Browser element.getBoundingClientRect() verwenden. Fuer Desktop-Apps koennen Accessibility-APIs UI-Elemente aufzaehlen, ohne Pixelkoordinaten zu benoetigen.

Was ist der Unterschied zwischen logischen und physischen Pixeln?

Physische Pixel sind die tatsaechlichen Punkte auf dem Display. Logische Pixel (CSS-Pixel) sind eine Abstraktionsschicht fuer High-DPI-Displays. Bei 100% sind sie identisch. Siehe unsere Anleitung zu physischen vs. logischen Pixeln.

Gibt es einen Tastaturkuerzel fuer Koordinaten unter Windows?

Kein eingebauter. Das Naechste ist das Snipping-Tool-Fadenkreuz (Win + Shift + S). Mit AutoHotkey koennen Sie dem PowerShell-Skript einen Hotkey zuweisen.

Zurueck zum Koordinaten-Tool