Quick answer: In most Mac apps, press ⌘ Command + ↑ Up Arrow to jump to the top of the page, and ⌘ + ↓ for the bottom. The catch is that it doesn't work everywhere — Finder and Terminal remap those keys — so here's the full picture.
The main shortcut: ⌘ + Up Arrow
In Safari, Chrome, Notes, Mail, Preview, and most document and text apps, ⌘ + ↑ jumps straight to the top of the page and ⌘ + ↓ goes to the bottom. If you're in a text field, Home and End do the same thing.
On a MacBook? Most Mac laptops don't have dedicated Home and End keys. Press Fn + ← for Home (top) and Fn + → for End (bottom).
Where it doesn't work — and what to use instead
This is the annoying part: the same keys do different things depending on the app.
| App | Scroll to top | Note |
|---|---|---|
| Safari / Chrome | ⌘ + ↑ or Home | Works as expected |
| Notes / Mail / Pages | ⌘ + ↑ | Goes to start of the document |
| Finder | Scroll up, or Home | ⌘ + ↑ opens the enclosing folder instead |
| Terminal / iTerm | ⌘ + Home | ⌘ + ↑ jumps to the previous command |
| Xcode / code editors | ⌘ + ↑ | Top of file (moves the text cursor) |
Bonus: page up and page down
To move one screen at a time instead of jumping all the way, press Space to page down and Shift + Space to page up in most browsers. On a laptop, Fn + ↑ is Page Up and Fn + ↓ is Page Down.
Why is it so inconsistent?
macOS never standardized a single "go to top / go to bottom" command the way it standardized copy and paste. Each app's developer wired up ⌘ + ↑, Home, and the rest to whatever made sense for that app — and they all made slightly different, individually reasonable choices. Then Apple dropped the dedicated Home/End keys from laptop keyboards. The result is the patchwork above.
Want one button that works in every app?
Scroll Elevator is a tiny Mac menu-bar app that puts a jump-to-top and jump-to-bottom button right at your cursor whenever you scroll. Click to leap to the top or bottom of any app — Safari, Finder, Preview, Xcode, your terminal — or hold to cruise. No keyboard gymnastics, no per-app exceptions to memorize.