QWERTY-fr: a French keyboard layout that keeps every QWERTY key where it was
Qwerty keyboard layout with French accents
At a glance
- What is it?
- QWERTY-fr is a keyboard layout for French users who also type in English, built as a strict superset of QWERTY so that every existing key stays in place while the accented characters move onto AltGr. It ships as a Windows installer, a macOS bundle, a Linux XKB layout and a browser demo, and the author argues for it against AZERTY on the grounds that AZERTY cannot type capital accented letters at all.
- Who is it for?
- QWERTY-fr suits a French speaker who types in English daily and wants the accented characters without giving up QWERTY muscle memory or the software compatibility that comes with it, because every QWERTY key stays where it was and only the AltGr layer is different. It does not suit someone who wants the AZERTY positions, since the layout is explicitly not AZERTY and does not preserve it.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 9 days ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A strict superset, which is the whole argument
QWERTY-fr is a keyboard layout based on the QWERTY layout with extra symbols and diacritics, so that typing both in French and English is easy and fast, and the README adds that it is also easy to learn.
The design principle is stated as a rule rather than a preference: this layout is a strict superset of the QWERTY layout, which means that all the keys of the QWERTY layout are kept in the same location. Anyone using a QWERTY layout can type on the QWERTY-fr layout without even knowing that they are not typing on a QWERTY layout.
That is the design decision everything else follows from. It is not a French layout that happens to resemble QWERTY. It is QWERTY with an added layer, and the argument is that the cost of learning is close to zero because nothing moves.
The layout is not entirely a superset in the strict sense, since AltGr combinations produce different characters from a bare QWERTY AltGr combination, but the base layer is unchanged and that is what the README means.
The homepage is qwerty-fr.org, which also hosts an online demo so you can try the layout without installing it, and the primary language is recorded as Shell with the licence as MIT. The last push was on 2026-10-15 and the most recent release is v0.7.3 from 2023-12-10, after v0.7.2 in September 2022 and v0.7.1 in July 2022.
What AZERTY cannot type, and why autocorrect is not an answer
The Why section is an argument against AZERTY rather than a description of QWERTY-fr, and it is the clearest statement of the problem being solved.
The official and widely spread keyboard layout in France is AZERTY. Compared to QWERTY, it adds extra letters such as é and ç. The problem is that a lot of characters are missing: it is impossible to type É or Ç, it is impossible to type the French quotation marks, and other special characters such as œ and æ are missing too. French users usually rely on autocorrect to fix the shortcomings of AZERTY, which the README calls unacceptable.
The second complaint is about position. AZERTY swaps letters around for no good reason compared to QWERTY: A and Q are swapped, W and Z are swapped as well, almost all symbols are shuffled around as well, and for some reason ² has an entire key exclusively dedicated to it.
That last detail is the one that will resonate with anyone who has used a French keyboard, because a dedicated key for a character that appears in a handful of French texts is a layout decision with no obvious upside.
The third consequence is the one with the widest blast radius: a lot of software has incompatible shortcuts and sometimes requires remapping everything, which is extremely inconvenient. Software written against QWERTY positions, including the majority of shortcut conventions, breaks when the letters move.
So the case for QWERTY-fr is that it fixes the missing characters while keeping the positions that the rest of the world's software assumes. That is a coherent position, and it explains why the layout is worth an existence rather than being a curiosity.
Six diacritic rules, all on the AltGr layer
The character entry system is a small set of rules rather than a large lookup, and the README lays them out as a table.
Grave accent is AltGr plus the corresponding letter, working for the letters e, u, i, o and a. Acute accent is AltGr plus the key to the left of the corresponding letter, working for the letter e. Circumflex is AltGr plus the key above the corresponding letter, again for e, u, i, o and a. Diaeresis is AltGr plus the key below the corresponding letter, for e, y, u, i, o and a. Cedilla is AltGr plus the corresponding letter, for c. And the ligature œ or æ is AltGr plus the key to the right of the corresponding letter, for o and a.
The pattern is that the dead key is reached by moving in a direction on the keyboard, which is a spatial mnemonic rather than a memory of key positions.
AltGr corresponds to Option on macOS, and to Ctrl plus Alt on Windows, which is useful if you do not have an AltGr key.
Two additional rules make the layout work where AZERTY does not. Unlike AZERTY, you can combine all the accentuated letters with Shift and with Caps Lock. So AltGr, Shift and C produces Ç, and AltGr, Shift and W produces É, and the README points out that these two letters are impossible to type with an AZERTY layout.
There is also a rule for the spaces that French typography requires: a non-breaking space by AltGr plus Space, and a narrow non-breaking space in French by AltGr, Shift and Space, with a link explaining when to use them.
That last one is a good detail. The narrow non-breaking space before a question mark or a colon is a French typographic convention that autocorrect in a word processor usually handles, but which a bare keyboard cannot produce at all.
Three platform installs, and the Windows one has a catch
The layout is available for Windows, Mac and Linux, and each platform has a package manager route and a manual route.
On Windows the WinGet route is a single command, once the manifest has been accepted in the Windows Package Manager Community Repository.
winget install --id qwerty-fr.qwerty-frThe manual route is to download the qwerty-fr_X.X.X_windows.zip archive from the latest release, extract it and run setup.exe. The installer adds a keyboard layout named French qwerty keyboard to your current language package.
Then there is the catch, and it is the part a Windows user needs to know. Make sure it is first in the list: press Win and r and enter ms-settings:regionlanguage to reach the settings, then go to your current language options and delete all other keyboard layouts. The reason is that Windows switches layouts with a hotkey, and if AZERTY is still present the layout you actually get is the one Windows thinks is next.
On Mac, Homebrew is the short path.
brew install qwerty-frAfter that, in System Preferences then Keyboard then Input Sources, click +, scroll down to Others and add qwerty-fr, then restart macOS. The restart matters, and the README repeats the warning twice for the manual path: restart macOS, if you do not some characters will not work. That is a real macOS quirk with non-native keyboard layouts rather than something specific to this one.
The automatic Mac route is a PKG download from the releases page, opened with a right click and then Open, following the installation process, and then the same Input Sources step. The manual route is a ZIP whose qwerty-fr.bundle goes either to /Library/Keyboard Layouts/ for all users or to ~/Library/Keyboard Layouts/ for a user-local install.
The repository layout shows the per-platform files as separate directories, windows/, mac/ and linux/, plus a qwerty-fr.yaml file at the root, which is the layout definition the other artefacts are generated from, and a doc/ directory.
Where QWERTY-fr is the wrong tool
The first wrong-tool case is a French speaker who wants AZERTY. The layout is explicitly not AZERTY, it does not preserve the AZERTY positions, and the argument in the README runs against AZERTY rather than trying to improve it. If you want the French national layout, this is not a variant of it.
The second case is a Mac user with a French keyboard. Apple ships French layouts, and on macOS the native French layout is integrated with the system's own text services, spell checking and the Option key conventions in a way a third party bundle does not get. The README's Mac instructions require a system restart after adding the layout, and the Input Sources step is manual, which is friction Apple does not impose on its own layouts.
The third case is a Linux user on a modern desktop. The repository has a linux/ directory, so a layout is provided, but the README's installation section in the visible text does not describe how it is wired into the desktop's input method framework. On a modern Wayland or X11 session with IBus or Fcitx, dropping an XKB layout into place is not always enough for the session to pick it up, and the documentation for that step is not in the part of the README that is visible here. That is worth checking before you switch a daily machine.
The fourth case is a shared or locked-down machine. Installing a keyboard layout on Windows requires deleting your other layouts from the language options, and on macOS it requires adding an Others entry and restarting. On a managed corporate device where you cannot remove the existing layouts, the layout is installed but not selectable in practice.
There is one more consideration that the README does not address and that is worth thinking about: the standard AltGr conventions differ between Windows and Linux. The layout puts its dead keys on the AltGr layer, and on a Linux system where AltGr is not bound to the third level of a key, the characters are reachable only if the user remaps something themselves. The project has an online demo for exactly this reason, and the demo is the cheapest way to find out whether the AltGr layer is what you expect.
On the practical side of versions, the release tags stop at v0.7.3 in December 2023 while the repository is being pushed to as of 2026-10-15. There is a project page and a Telegram discussion group for feedback, and the README notes that the group has bot protection.
On licence, MIT with a LICENSE file at the root, which means you can take the layout definition, modify it, and redistribute the result without any obligation beyond keeping the notice, and the yaml file at the root makes that easy to do.
Editorial conclusion
QWERTY-fr suits a French speaker who types in English daily and wants the accented characters without giving up QWERTY muscle memory or the software compatibility that comes with it, because every QWERTY key stays where it was and only the AltGr layer is different. It does not suit someone who wants the AZERTY positions, since the layout is explicitly not AZERTY and does not preserve it. Before adopting, read the online demo at qwerty-fr.org first, because the whole argument depends on how the AltGr layer feels, and on Windows remember that the layout must be made first in the language list or the other layouts will conflict.
Frequently asked questions
What is QWERTY-fr?
QWERTY-fr is a keyboard layout based on QWERTY with extra symbols and diacritics, so that typing both in French and English is easy and fast. It is a strict superset of QWERTY, meaning all the keys of the QWERTY layout are kept in the same location.
How do I type accented characters on QWERTY-fr?
With AltGr and a key chosen by position: AltGr plus the letter for a grave accent, AltGr plus the key to the left for an acute accent, AltGr plus the key above for a circumflex, AltGr plus the key below for a diaeresis, AltGr plus the letter for a cedilla, and AltGr plus the key to the right for the œ and æ ligatures. On macOS AltGr corresponds to the Option key.
How do I install QWERTY-fr on Windows?
Once the WinGet manifest is accepted in the Windows Package Manager Community Repository, run winget install --id qwerty-fr.qwerty-fr, or download the qwerty-fr_X.X.X_windows.zip archive and run setup.exe. The layout is added as French qwerty keyboard and must be made first in the language list, with the other layouts deleted.
How do I install QWERTY-fr on macOS?
Run brew install qwerty-fr, or download the PKG or ZIP from the releases page. Then in System Preferences, Keyboard, Input Sources, click +, scroll down to Others and add qwerty-fr, and restart macOS, since without the restart some characters will not work.
What is the difference between QWERTY-fr and AZERTY?
AZERTY moves Q and A, and W and Z, and shuffles most symbols, and it cannot type capital accented letters such as É or Ç, the French quotation marks, or the œ and æ ligatures. QWERTY-fr keeps every QWERTY key in place and adds the accented characters on the AltGr layer, combining them with Shift.
What license is QWERTY-fr released under?
It is released under the MIT license, with the LICENSE file at the root of the repository. The layout definition is kept in qwerty-fr.yaml at the root, with the per-platform artefacts in the windows/, mac/ and linux/ directories.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/qwerty-fr-qwerty-fr)Was this useful?