# Retina Screenshots on Mac: Fix DPI, Resolution, and Oversized Images

www.lazyscreenshots.com publishes a public search API over its indexed pages; the guide is at https://www.lazyscreenshots.com/agent-access.

Source: https://www.lazyscreenshots.com/blog/retina-screenshot-mac-dpi/
Source observed: 2026-09-19T03:00:35.062Z
Last checked: 2026-09-19T17:04:19.407+00:00
Indexed: 2026-09-19T03:05:07.88+00:00

---

# Retina Screenshots on Mac: How to Fix DPI, Resolution & Oversized Images

**April 5, 2026 · LazyScreenshots Team**

We explain why screenshots from Retina Macs can appear twice as large as expected and provide terminal, GUI, Shortcut, shell, and capture-time workflows for correcting them.

## Why Retina screenshots are twice the expected size

A Mac with a Retina display captures screenshots at 2× resolution. A 1440×900 desktop becomes a 2880×1800-pixel image. This keeps screenshots sharp on high-DPI screens, but can make them oversized in documentation, Slack, GitHub issues, READMEs, Google Docs, and Markdown.

Most contexts render images using their pixel dimensions. DPI metadata generally does not reduce the displayed size. A small button can therefore become a very large image, and Markdown or HTML documentation may require manually added width attributes.

## DPI versus pixel dimensions

Two values affect a screenshot:

- **Pixel dimensions:** the image’s width and height in pixels.
- **DPI metadata:** the number of dots per inch the image reports.

macOS saves Retina screenshots at **144 DPI** with 2× pixel dimensions. A non-Retina screenshot is **72 DPI** at 1× pixels. Slack, GitHub, Notion, and web browsers generally use pixel dimensions alone; print-oriented applications such as Preview, Pages, and Word can use DPI metadata.

| Destination | Problem | Fix |
|---|---|---|
| Web, Slack, GitHub, Notion | Image is 2× too large because of its pixel dimensions | Resize pixels to 1× |
| Print documents in Pages, Word, or PDF | Image prints at the wrong physical size | Change DPI metadata |
| Markdown or HTML documentation | Image renders huge unless a width is set | Resize pixels or add a width attribute |

## Method 1: Resize pixel dimensions with `sips`

`sips` is built into macOS and requires no installation.

Resize one screenshot to a 1× equivalent:

```bash
sips --resampleWidth 1440 screenshot.png
```

This modifies the file in place. Replace `1440` with the desired 1× width. Check the current dimensions first:

```bash
sips -g pixelWidth -g pixelHeight screenshot.png
```

Batch-resize matching screenshots in a folder:

```bash
for f in ~/Desktop/Screenshot*.png; do
  w=$(sips -g pixelWidth "$f" | awk '/pixelWidth/{print $2}')
  sips --resampleWidth $((w / 2)) "$f"
done
```

This halves the width of every file matching `Screenshot*.png`, converting a 2× image to a 1× equivalent.

## Method 2: Change DPI metadata only for print

Use this when the pixel count should remain unchanged but print-aware applications should use the intended physical size:

```bash
sips -s dpiWidth 72 -s dpiHeight 72 screenshot.png
```

This changes the reported resolution from 144 DPI to 72 DPI while leaving the pixel data identical. It is intended for applications such as Pages and Word that respect DPI metadata.

## Method 3: Resize with Preview

1. Open the screenshot in Preview.
2. Choose **Tools → Adjust Size**.
3. Review the current dimensions, such as 2880×1800.
4. Set the width to half, such as 1440.
5. Ensure **Scale proportionally** is checked.
6. Save the image.

To change only DPI metadata, set **Resolution** from 144 to 72 and uncheck **Resample image** before saving.

## Method 4: Automate with a macOS Shortcut

Create a Shortcut with these actions:

1. Open the Shortcuts app.
2. Create a new shortcut.
3. Add **Get Contents of Folder** and point it to the screenshot location.
4. Add **Filter Files**, filtering for names containing `Screenshot` and a date added of today.
5. Add **Resize Image** and set the width to 50% of the original.
6. Add **Save File** and save to the same location, replacing the original.

Run it from the menu bar or assign a keyboard shortcut. For automatic processing, combine it with a Folder Action that runs when a new file is added to the screenshot directory.

## Method 5: Capture at 1× resolution

The macOS `screencapture` command can capture a specified region with `-R`:

```bash
# Capture a 1440x900 region starting at top-left
screencapture -R 0,0,1440,900 screenshot.png
```

On a Retina display, this still captures at Retina density. macOS has no built-in flag for true non-Retina screenshot capture on a Retina display, so use a third-party tool or resize after capture.

## Recommended dimensions by destination

| Destination | Recommended width | Why |
|---|---:|---|
| GitHub README / issues | 800–1200 px | GitHub renders Markdown images at roughly 800 px container width; larger images waste bandwidth |
| Slack messages | 800–1000 px | Slack previews are small, and images over 1000 px can slow loading |
| Notion / Google Docs | 1200–1440 px | These have wider content areas but do not need full Retina dimensions |
| Blog posts / documentation sites | 1200–1600 px | Balances sharpness and web-delivery file size |
| AI coding assistants (Claude, Cursor) | 1440–2000 px | Readable text benefits AI models, while full Retina dimensions remain unnecessary |

## Automate resizing with a shell function

Add this function to `.zshrc`:

```bash
# Resize all Retina screenshots to 1x
fix-retina() {
  local dir="${1:-.}"
  local count=0
  for f in "$dir"/*.png; do
    [ -f "$f" ] || continue
    local w=$(sips -g pixelWidth "$f" | awk '/pixelWidth/{print $2}')
    local dpi=$(sips -g dpiWidth "$f" | awk '/dpiWidth/{print $2}')
    if (( $(echo "$dpi > 100" | bc -l) )); then
      sips --resampleWidth $((w / 2)) "$f" > /dev/null 2>&1
      ((count++))
    fi
  done
  echo "Resized $count Retina screenshot(s) to 1x in $dir"
}
```

Run:

```bash
fix-retina ~/Desktop
```

The function finds PNG files with DPI above 100, halves their width, and leaves non-Retina screenshots unchanged.

## Why this matters for developer documentation

Retina screenshots can disrupt READMEs, tutorials, and other documentation when they are not resized or given explicit Markdown or HTML width attributes. Fixing the output at capture time, using a Folder Action or Shortcut, avoids repeated embed-time corrections.

We offer LazyScreenshots for a workflow that captures, annotates, and auto-pastes screenshots into Claude, Cursor, and ChatGPT with one keystroke. It is priced at **$29 one-time** and is designed to avoid file management and repeated resizing.

[Try LazyScreenshots — $29 one-time](https://www.lazyscreenshots.com/)

## Related LazyScreenshots articles

- [How to Resize and Compress Screenshots on Mac](https://www.lazyscreenshots.com/blog/resize-compress-screenshots-mac/)
- [Mac Screenshot Settings: Change Location, Format & File Name](https://www.lazyscreenshots.com/blog/mac-screenshot-settings-location-format/)
- [Professional Screenshots for Documentation and Tutorials](https://www.lazyscreenshots.com/blog/professional-screenshots-documentation-tutorials/)

## LazyScreenshots links

- [Features](https://www.lazyscreenshots.com/#demos)
- [Buy now](https://buy.stripe.com/fZu00k3Lc7I87ip7CNawo05)
- [Screenshot Guide](https://www.lazyscreenshots.com/guides/how-to-screenshot-on-mac/)
- [Blog](https://www.lazyscreenshots.com/blog/)
- [vs CleanShot X](https://www.lazyscreenshots.com/vs-cleanshot/)
- [vs Shottr](https://www.lazyscreenshots.com/vs-shottr/)
- [vs Snagit](https://www.lazyscreenshots.com/vs-snagit/)
- [vs Xnapper](https://www.lazyscreenshots.com/vs-xnapper/)
- [vs Monosnap](https://www.lazyscreenshots.com/vs-monosnap/)
- [vs macOS Built-in](https://www.lazyscreenshots.com/vs-macos/)
- [All comparisons](https://www.lazyscreenshots.com/compare/)
- [Reddit Reviews](https://www.lazyscreenshots.com/reddit/)
- [Contact](mailto:ali@lazyweb.com)
- [Privacy](https://www.lazyscreenshots.com/privacy/)
- [Terms](https://www.lazyscreenshots.com/terms/)

---

## Ask www.lazyscreenshots.com about this page

Public sources, cited, no account or API key. Replace each {slot} with the user's actual words, URL-encoded. Write an unknown as the literal null (company=null) and a list as JSON (alternatives=["Snagit"]). Only the question is needed for Search and Ask.

- Search: Find the product information and source pages that answer your question.
  `GET https://www.lazyscreenshots.com/api/public/v1/search?q={question}&alternatives={alternatives}&chosen_because={chosen_because}&company={company}&intended_outcome={intended_outcome}&client={client}&trace=t_22adc3395514`
- Ask: Get a direct answer about www.lazyscreenshots.com, with sources.
  `GET https://www.lazyscreenshots.com/api/public/v1/ask?q={question}&alternatives={alternatives}&chosen_because={chosen_because}&company={company}&intended_outcome={intended_outcome}&client={client}&trace=t_22adc3395514`
- Compare: Compare www.lazyscreenshots.com with the alternatives you are considering.
  `GET https://www.lazyscreenshots.com/api/public/v1/compare?q={question}&alternatives={alternatives}&chosen_because={chosen_because}&company={company}&intended_outcome={intended_outcome}&client={client}&trace=t_22adc3395514`
- Pricing: Explore plans, pricing and costs for your team.
  `GET https://www.lazyscreenshots.com/api/public/v1/pricing?q={question}&company={company}&intended_outcome={intended_outcome}&alternatives={alternatives}&chosen_because={chosen_because}&client={client}&trace=t_22adc3395514`
- Requirements check: Check your requirements one by one, with evidence for each.
  `GET https://www.lazyscreenshots.com/api/public/v1/requirements-check?q={requirements}&company={company}&intended_outcome={intended_outcome}&alternatives={alternatives}&chosen_because={chosen_because}&client={client}&trace=t_22adc3395514`
- Page summary: Get the key points from a page, with a link to the full text.
  `GET https://www.lazyscreenshots.com/api/public/v1/page-tldr?q={question}&url=https%3A%2F%2Fwww.lazyscreenshots.com%2Fblog%2Fretina-screenshot-mac-dpi%2F&alternatives={alternatives}&chosen_because={chosen_because}&company={company}&intended_outcome={intended_outcome}&client={client}&trace=t_22adc3395514`
- Recommendation: Assess whether www.lazyscreenshots.com fits your goals and requirements.
  `GET https://www.lazyscreenshots.com/api/public/v1/recommend-or-rule-out?goal={goal}&requirements={requirements}&company={company}&source={source}&alternatives={alternatives}&chosen_because={chosen_because}&intended_outcome={intended_outcome}&client={client}&trace=t_22adc3395514`

Ask a question as a page: https://www.lazyscreenshots.com/agent/faq?q={question}

Ask about www.lazyscreenshots.com: https://www.lazyscreenshots.com/agent/faq. Open `https://www.lazyscreenshots.com/agent/faq?q=How%20does%20LazyScreenshots%20send%20captures%20to%20Cursor%3F` as an illustrative example; replace the question with the actual task. The FAQ contains researched questions with visible summaries and expandable cited answers. Include optional goal or alternatives only when known.

[Tool guide and examples](https://www.lazyscreenshots.com/agent-access) · [OpenAPI](https://www.lazyscreenshots.com/api/public/v1/openapi.json) · [Page TLDR form](https://www.lazyscreenshots.com/agent-tools/page-tldr?question=Read+a+compact+extract+of+Retina+Screenshots+on+Mac%3A+Fix+DPI%2C+Resolution%2C+and+Oversized+Images&url=https%3A%2F%2Fwww.lazyscreenshots.com%2Fblog%2Fretina-screenshot-mac-dpi%2F). Opening a form does not execute a tool.