Releases: ayenora/screen-loupe
Release list
Screen Loupe 1.4.0
Screen Loupe 1.4 shows the screen as people with other colour vision see it, checks contrast in a redesigned Color Meter, compares the screen with itself before and after a change, and keeps your recent captures across launches.
Install
- Download
ScreenLoupe-1.4.0.dmgbelow, open it and drag Screen Loupe to Applications, replacing the old copy. Or with Homebrew:brew install --cask ayenora/tap/screen-loupe, orbrew upgradeif you have it. - Open it. The first time, grant Screen Recording access when the Viewer asks, then reopen the app when macOS says so. The permission is called "Screen & System Audio Recording"; the app captures no audio. If the Viewer still asks after an update, remove Screen Loupe from that list with −, add it again with + and reopen the app.
Requires macOS 15.2 Sequoia or later. Universal: Apple silicon and Intel.
New
- Colour vision simulation (the eye button and its ▾, View › Color Vision, ⌘Y): the Viewer shows what it shows as a person with another colour vision sees it — Protanopia, Protanomaly, Deuteranopia, Deuteranomaly, Tritanopia or Grayscale, each saying who sees that way. Live over any app while you edit, over the frozen frame, recent captures, images and the reference layers alike. An orange border and "Deuteranopia · simulated" show while it is on. Copy View and Save View carry it, so a bug report can show it; Copy Source, Save Source and the Color Meter keep the real pixels. It starts off at every launch, with the last mode chosen. The model is Machado, Oliveira and Fernandes (2009), in linear light, from the display's colour profile.
- Contrast in the Color Meter: Text and Background, an "Aa" preview, the WCAG 2 contrast ratio and Pass or Fail for Text AA, Large AA, Text AAA and Large AAA. Swap exchanges them; both are kept between launches.
- The Color Meter, redesigned around one colour in focus: the pointed pixel by default, or a recent colour, a favourite, Text or Background when you click it, in every format, with a line above the swatch saying which. Moving the pointer over the image brings the live pixel back.
- Recent: every click on a pixel keeps its colour, the last eight, kept between launches. Right-click a row to copy it as HEX, CSS, SwiftUI or AppKit, add it to Favorites, or remove it.
- Favorites: eight slots for the colours you want to keep.
- Where a colour goes: click Text, Background or a favourite to make it the target, ringed; the next clicks go there. Without a target, clicks only go to Recent, so picking colours never overwrites the pair by surprise. Escape drops the target.
- Before and after: Use as Reference in a Recent Captures row's context menu, or Use Frozen Frame as Reference in the freeze ▾ and the View menu, makes that picture a reference layer in Difference at full opacity. Capture, change the CSS or the SwiftUI view, and whatever moved glows. A snapshot lands on the pixels it was taken from; a capture shown in the Viewer stays, so two captures can be compared with each other.
- Selection Ruler (the ruler button's new ▾, or ⌥⌘R): the Select tool's selection with its width and height as dimension lines just outside it, following it as it is drawn, moved or resized. The ruler you had is now the Corner Ruler (⌘R); the ▾ chooses between them.
- Link View (the link button left of a Recent Captures row's ×): linked captures share one zoom and position, so the same area taken in the light and the dark theme can be flipped between at the same spot. Captures of the same size in pixels link; each keeps its own selection.
- Recent Captures kept across launches: captures stay on your Mac through quitting, a crash or a restart, with their exact pixels and colour profile, until you delete one or a ninth pushes out the oldest. The Viewer reopens on what it showed — the capture at its zoom, position and selection, or the live view — and linked captures stay linked.
- Zoom panel (the loupe, the toolbar's first button): the zoom presets, now Fit and 1× to 64×, and the zoom field, in a strip under the toolbar or a small floating panel beside the Viewer that keeps its place; the loupe's ▾ chooses which. A click anywhere in the field selects the zoom, ready to type a new one. Copy and Save each have a ▾ for View or Source.
- Help › Check for Updates…, also in the menu bar item, opens the latest release on GitHub in your browser; the app itself still never goes online. The menu bar item also has About.
- Support: questions and ideas in GitHub Discussions, bugs in Issues; the Support page says what a good bug report includes.
Improved
- The Select tool's label gives the selection's size in points too, as the rulers do:
32 × 22 px · 16 × 11 pt · x 11, y 11. It stays in view and readable when the selection reaches the Viewer's edge. - Where a pixel is a point — a 1× display, an image file — the Capture Area's tab, the rulers and the selection give one size instead of two equal ones.
- A pinned Corner Ruler and the reference layers keep their place on the Capture Area's pixels over a snapshot too, not only over the live view.
- The Screen Recording explanation's button reads "Continue": the choice stays with you in the system's prompt.
- Screenshot studio pictures keep the windows' shadows and outlines, as a macOS screenshot shows them.
- A Screenshot studio picture taken with the timer keeps a menu opened during the countdown.
- Recent Captures has Paste and Add… in its header, as References has, and counts its rows in the footer.
- Screenshot studio pictures are written without an alpha channel unless they have transparent pixels, so the App Store and other sites that refuse alpha take them as they are.
Changed
- Pinned colours are now Recent: a click on a pixel keeps its colour by itself, and Favorites hold the ones to keep for good. The colours you pinned in 1.3 show under Recent, up to eight.
- The Screenshot studio's Include the Pointer is gone: its pictures never show the pointer.
- One Window's picture is the window alone: exactly the window and its shadow, on transparency, whatever the background — no longer centred in a picture of the frame's size. While One Window is on, the studio's frame is hidden, notices and the timer's countdown show beside the window's name, and Size, Fit to Window, Aspect Lock and Background are off, their menus saying why. When the window closes or can't be captured, One Window ends and the frame comes back; a capture or countdown waiting for the window is cancelled, never replaced by the frame's area, and a notice says why.
- Window Shadow is now One Window Shadow. It moved from the Background list to the menu of a ▾ beside the palette's One Window button, beside Pick Another Window and End One Window, and in the Screenshot menu sits under Capture One Window….
- The Screenshot studio palette's Size, Timer, Output and Background open native menus beside the palette, the same as the Screenshot menu's, without making Screen Loupe the active app; Background shows its colours and gradients as rows of swatches.
- Screen Loupe now requires macOS 15.2 Sequoia or later.
The Guide covers every feature and shortcut.
Privacy and verification
The app runs in the App Sandbox with no network access and collects no data (privacy policy). It is built with Xcode 27, signed with Developer ID and notarized by Apple. To check:
shasum -a 256 ScreenLoupe-1.4.0.dmg
# e8a0f171675e208e4121f7d9bf0aa6e8128421c74d2ffcfb48ceae918c21507c
spctl -a -vv /Applications/ScreenLoupe.app
codesign -d --entitlements - /Applications/ScreenLoupe.appFound a bug or missing something? Ask in Discussions or open an issue.
Screen Loupe 1.3.0
Screen Loupe 1.3 adds a Screenshot studio for exact, clean pictures, opens image files in the Viewer, and gives the Capture Area new ways to stay where you want it.
Install
- Download
ScreenLoupe-1.3.0.dmgbelow, open it and drag Screen Loupe to Applications, replacing the old copy. Or with Homebrew:brew install --cask ayenora/tap/screen-loupe, orbrew upgradeif you have it. - Open it. The first time, grant Screen Recording access when the Viewer asks, then reopen the app when macOS says so. On macOS 15 and later the permission is called "Screen & System Audio Recording"; the app captures no audio. If the Viewer still asks after an update, remove Screen Loupe from that list with −, add it again with + and reopen the app.
Requires macOS 14 Sonoma or later. Universal: Apple silicon and Intel.
New
- Screenshot studio (Screenshot › Show Screenshot Studio): an orange frame and a floating palette of its own, apart from the Capture Area and the Viewer, for App Store and website screenshots, docs and bug reports.
- Exact sizes: the Mac App Store's 1280 × 800 to 2880 × 1800 px, web sizes, a typed size or four of your own; Aspect Lock.
- A timer of 3, 5 or 10 s to catch an open menu or a hover, and the pointer in the picture if you want it.
- A background of a colour, a gradient or your own image, laid under every window so you see on screen what the picture will show.
- One Window: a single window alone, whole even where it is covered, with or without its shadow, on a transparent or chosen background.
- PNG, JPEG or HEIC, in sRGB or the display's colours, at native pixels or 1× for the web, with no date, device or location written into the file.
- The studio's own frame and palette never show in its pictures, and they stay on screen while it captures.
- Open images in the Viewer: File › Open Image… (⌘O), dropping image files on the Viewer, or pasting an image (⌘V). Zoom, the ruler, the Color Meter (with opacity for transparent pixels), references and Copy work on it, in the image's own colour profile. Dropped or pasted images can also become reference layers: Edit › Paste as Reference, or drop them with References open.
- Pin modes for the Capture Area (the pin's ▾): Pinned as before; Fixed Position, which keeps the frame from moving while its handles still resize it; and Magnet to Window…, which makes the frame follow a window as it moves — the Simulator, a browser — and lets go when the window closes, hides or changes Space. Fitted to the window (Fit to Window, then the magnet), the frame follows its size too, and the window's own edges resize it; the frame's tab moves it to another place on the window, and brings it back onto it.
- Margins for a frame fitted to its magnet's window (the button beside the pin's ▾, or Window › Capture Area Margins): capture only an inner part of the window — a web page without the browser's toolbar, a design tool's canvas — and keep it in view while the window is resized. The band between is tinted, lets clicks through and is never captured; its colour and opacity are set in the Margins panel below the position box.
- Reset Capture Area (Window menu and the menu bar item) brings a frame stretched over a large window back to its first-launch size, centred on its display, and turns the magnet and the pin off.
- Take Snapshot (the camera in Recent Captures, View › Take Snapshot, ⌘T) keeps what the Viewer shows of the Capture Area, or just the selection while there is one — the frozen frame while frozen — as a new Recent Captures row, whatever the Viewer shows, without switching to it. It opens as the live view looked when it was taken, and its row shows the snapshot's real size in pixels; the Live row shows the Capture Area's.
- The part the Viewer shows is outlined inside the frame while you pan or zoom. The viewport handle (View › Show Viewport Handle, ⌃⌥⌘M) keeps the outline and adds a handle beside it that pans the Viewer from the frame.
- A square Capture Area: hold Shift while dragging a corner.
- Smooth zoom: the zoom presets, a typed zoom,
+/-and Reset Zoom glide to the new zoom in a fifth of a second; a pinch or a wheel mid-glide takes over without a jump. With Reduce Motion on they change at once, and pinch and wheel zoom are as direct as before.+/-with the pointer over the Viewer keep the point under it still; a preset or a typed zoom brings the middle of what you see to the middle of the Viewer. - Help › Acknowledgements lists the third-party resources the app uses: two icons from Lucide.
Improved
- The ruler's length labels move it, as its line does.
- The frame's less-used buttons fold behind »; every button beside the tab names itself when you rest the pointer on it, also while another app is active.
- Recent Captures keeps the last eight pictures, up from four, and also keeps opened and pasted images. Rows have square thumbnails, the size in pixels and the date and time on a line of their own; the Live row gives the Capture Area's size in pixels. A shown capture stays while you open, close or switch the side panels, so a reference can be laid over it.
- Settings › Capture Area › Label background sets how opaque the fill behind the frame's size label, position box and button names is (30–100 %, 80 % by default).
- While a window is picked for Fit to Window, the frame's tab stays shown and its window button looks on.
Changed
- Copying and saving no longer add Recent Captures rows: in 1.2 every Copy and Save did. To keep a moment for later, click the camera in Recent Captures or press ⌘T.
Fixed
- Reference images taken on a phone stand upright, as their orientation says, instead of lying on their side.
- Starting Fit to Window no longer brings the Viewer forward over the window you are about to pick.
- Resuming a frozen Viewer shows the screen as it is at once, instead of the frozen frame until something changes.
- The side column beside the image resizes from its left edge only; dragging inside a panel no longer resizes it.
- A zoom preset on an image smaller than the Viewer and dragged to one side zooms into what you see, instead of showing the image's far side.
The Guide covers every feature and shortcut.
Privacy and verification
The app runs in the App Sandbox with no network access and collects no data (privacy policy). It is built with Xcode 27, signed with Developer ID and notarized by Apple. To check:
shasum -a 256 ScreenLoupe-1.3.0.dmg
# 3782e33844c797ba362786dada078c842280b1c0166ef6ec6d65625fb5099e28
spctl -a -vv /Applications/ScreenLoupe.app
codesign -d --entitlements - /Applications/ScreenLoupe.appFound a bug or missing something? Open an issue.
Screen Loupe 1.2.0
The first public release of Screen Loupe: a zoomed monitor exactly where you need it. Pin a frame over any part of the screen, keep working there, and watch that spot magnified — live and pixel-true — in a window next to it.
Install
- Download
ScreenLoupe-1.2.0.dmgbelow, open it and drag Screen Loupe to Applications. - Open it from Applications. Grant Screen Recording access when the Viewer asks, then reopen the app when macOS says so. On macOS 15 and later the permission is called "Screen & System Audio Recording"; the app captures no audio.
Requires macOS 14 Sonoma or later. Universal: Apple silicon and Intel.
What's in it
- Capture Area over any part of any display; clicks inside go to the app underneath. Hold ⌘ while dragging to snap to window edges, or fit it to a window in one click (⌃⌥⌘W).
- Viewer with pixel-sharp zoom up to 1600% and beyond, panning, and a crosshair on the real cursor. Nothing moves unless you move it.
- Copy exactly what you see: the zoomed view, a selection snapped to pixels (⌘A selects the whole area), an ⌥-drag region, or the source at native resolution.
- Inspect: Color Meter (HEX, CSS, SwiftUI, AppKit), a pixel ruler, a pixel grid, reference layers with a Difference blend, and the last four captures to study later.
- Freeze transient states with Space, from any app with F13, or after a countdown.
The Guide covers every feature and shortcut.
Privacy and verification
The app runs in the App Sandbox with no network access and collects no data (privacy policy). It is signed with Developer ID and notarized by Apple. To check:
shasum -a 256 ScreenLoupe-1.2.0.dmg
# 60c1431c609e08d2f5c1da9b806ce6c2ea484d4804a7d7426a62ede01cb637b6
spctl -a -vv /Applications/ScreenLoupe.app
codesign -d --entitlements - /Applications/ScreenLoupe.appFound a bug or missing something? Open an issue.