Why Firefox Redo Shortcuts Vary by Operating System
The Mozilla Firefox web browser uses Ctrl+Y as the default "Redo" keyboard shortcut on Windows, while defaulting to Ctrl+Shift+Z on Linux and Cmd+Shift+Z on macOS. This discrepancy exists because Firefox is designed to follow the native Human Interface Guidelines (HIG) of the specific operating system it is running on. This article explains the historical design choices of Windows, macOS, and Linux, why they settled on different shortcuts for the exact same action, and how Firefox accommodates these platform-specific standards to meet user expectations.
The Goal of Native Integration
Cross-platform applications like Firefox must balance uniformity with the expectations of the host operating system's users. If a Windows user switches from Microsoft Word to Firefox, they expect text editing shortcuts to behave identically in both programs. Therefore, Mozilla developers programmed Firefox to adopt the system-wide defaults of the host OS rather than forcing a single, universal Firefox standard.
Why Windows Uses Ctrl+Y
In the early days of personal computing, Apple and Microsoft agreed on the bottom-left row of the QWERTY keyboard for core editing functions: Z for Undo, X for Cut, C for Copy, and V for Paste.
When Microsoft needed a shortcut for the "Redo" function in early versions of Windows and Microsoft Office, they chose Ctrl+Y. The reasoning was alphabetical and spatial; Y immediately precedes Z in the alphabet, and on a standard US QWERTY keyboard, it is located centrally. Once Microsoft codified Ctrl+Y in the Windows User Experience Interaction Guidelines, it became the permanent standard for the operating system. Consequently, the Windows version of Firefox uses Ctrl+Y.
Why macOS Uses Cmd+Shift+Z
Apple took a different logical approach when expanding its keyboard shortcuts. Instead of choosing a new letter for Redo, Apple’s human interface designers decided to use the Shift key as a modifier to reverse an existing action.
This is the same logic applied to the Tab key: pressing Tab moves the cursor forward, while pressing Shift+Tab moves the cursor backward. By applying this rule to the Undo command (Cmd+Z), the opposite action—Redo—naturally became Cmd+Shift+Z. Firefox on macOS adheres to this standard.
Why Linux Uses Ctrl+Shift+Z
When major Linux desktop environments like GNOME and KDE established their own Human Interface Guidelines, they had to choose between the Microsoft method and the Apple method. Linux developers overwhelmingly favored the Apple logic of using the Shift key as a reversing modifier, resulting in Ctrl+Shift+Z.
There were two main reasons Linux avoided the Windows Ctrl+Y standard:
- Legacy Unix Conflicts: In classic Unix systems and popular terminal text editors like Emacs, Ctrl+Y was already heavily used for the "Yank" command (which functions similarly to Paste). Using Ctrl+Y for Redo would have caused constant frustration for long-time Unix and Linux users.
- International Keyboard Layouts: On Central European keyboards (such as the German QWERTZ layout), the Y and Z keys are swapped. The Ctrl+Shift+Z combination keeps the Undo and Redo actions bound to the exact same physical key, preventing confusion across different regional keyboard layouts.
How Firefox Implements the Shortcuts
Inside the Firefox source code, keyboard shortcuts are not universally hardcoded. Instead, they are separated by platform declarations. When you download Firefox for Windows, the browser checks the platform rules and assigns Redo to Ctrl+Y. When you download it for Linux, it assigns Redo to Ctrl+Shift+Z.
However, to make life easier for users who work across multiple operating systems, modern versions of Firefox on Windows and Linux often support both shortcuts in text fields, even though the visual menus will only display the official default shortcut for your current operating system.