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 oeffnenSchnelldemo: 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);
});
| Eigenschaft | Ursprung | Scroll-bewusst? | Anwendungsfall |
|---|---|---|---|
screenX / screenY | Physischer Monitor | Nein | Multi-Monitor, OS-Automatisierung |
clientX / clientY | Browser-Viewport | Nein | Canvas, Overlays |
pageX / pageY | Gesamtes Dokument | Ja | Absolute Dokumentposition |
offsetX / offsetY | Element unter Cursor | Ja | Elementbezogene 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-Position | Koordinatenbereich | Beispiel |
|---|---|---|
| Hauptmonitor (Mitte) | 0 bis +Breite, 0 bis +Hoehe | 0,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
| Methode | Plattform | Praezision | Skriptbar? | Ideal fuer |
|---|---|---|---|---|
| PowerShell + GetCursorPos | Windows | Exakt (physische px) | Ja | Automatisierungsskripte |
| Snipping Tool | Windows | Ungefaehr | Nein | Schnelle Schaetzung |
| PyAutoGUI | Alle | Exakt | Ja | Plattformuebergreifende Automatisierung |
| Digital Color Meter | macOS | Exakt | Nein | Schnelle Ablesungen |
| Python + Quartz | macOS | Exakt | Ja | Mac-Automatisierung |
| xdotool | Linux (X11) | Exakt | Ja | Shell-Skripte |
| DevTools-Konsole | Browser | Exakt (CSS-px) | Ja | Web-Entwicklung |
| Online-Picker (diese Seite) | Browser | Exakt | Nein | Ablesung 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.