Running Duolingo as a standalone app on macOS: a window that stays open while you study

The reason people search for Duolingo for Mac is rarely curiosity about software. It is a streak. The phone reminds, the Mac does not, and the day the lesson gets skipped is usually a day spent entirely in front of a Mac. A Dock icon would fix that, so the natural next thought is that there must be something to download.

There is not. Duolingo's own site offers exactly two downloads, and both are phone stores: the App Store for iPhone and iPad, and Google Play for Android. On a computer, the product is the website. The courses live at duolingo.com under their own addresses, one per course, and the same account covers the non language courses that Duolingo has added, with chess and maths sitting at their own addresses on the same site.

That is not a dead end. It means the thing to build is a window rather than a download, and macOS has shipped the feature for doing that since Sonoma.

What Duolingo publishes, and the download people find instead

Worth being precise about, because the search results are genuinely confusing.

Duolingo maintains three surfaces: the website, the iPhone and iPad app, and the Android app. There is no fourth. Anything presented as a Duolingo installer for macOS is not coming from Duolingo, and most of what turns up is either an Android emulator running the phone app on a desktop or a download aggregator with no relationship to the company.

The one genuine Duolingo desktop download that exists belongs to a different product. The Duolingo English Test is a separate service on its own site, linked from duolingo.com under the heading about certifying English, and it is a proctored exam rather than a course. Its download page asks for an account to be created before it shows anything at all, which is a reasonable thing for exam software to do and a completely unhelpful thing to land on when what was wanted was Spanish practice. The test's desktop app has nothing to do with the courses, and installing it does not put lessons on the Mac.

So the honest summary is that the Mac version of Duolingo is duolingo.com, and the only question left is what kind of window it should live in.

Why a window changes the habit, and a tab does not

A streak is a habit, and habits are built on cues. On a phone the cue is a push notification. In a browser the cue is nothing at all, because a tab has no presence when it is not in front.

A window has three properties that work as cues instead.

It has a Dock icon, which sits in a fixed position and is visible every time the Dock is. It appears in the Cmd+Tab switcher under its own name, so reaching it is a keystroke rather than a search through a tab strip. And Apple documents that a web app can be added as a login item, so it can open by itself at login. For anyone whose problem is remembering rather than wanting, that last one is the whole fix: the lesson is already on screen when the Mac is unlocked in the morning.

The second thing a window fixes is survival. A tab dies when the browser quits, and browsers get quit. A window built as its own application is closed and opened on its own schedule, which means a half finished lesson is still there after lunch.

Building the window with what macOS includes

Apple's route requires macOS Sonoma 14 or later and nothing else.

Open duolingo.com in Safari and sign in. From the menu bar, choose File, then Add to Dock, or click the Share button in the Safari toolbar and choose Add to Dock. Type the name to use and click Add. Apple saves the result to the Applications folder inside the home folder, and it can be opened from the Dock or from Spotlight.

Then open it, click its name in the menu bar, and choose Settings. Three things there are worth changing.

Application URL decides where the window lands. Apple's panel accepts a typed address or a button labelled Set to Current Page. Navigate to the course being studied, then press the button. A window that opens directly on the course, rather than on a home page that has to be clicked through, is the difference between a lesson and an intention.

The icon can be any image file. This matters for anyone studying two languages, because two windows pointed at two courses need to be distinguishable in the Dock.

Show navigation controls decides whether the toolbar carries back and forward buttons, the app name, the Share button, and buttons for enabled Safari extensions. Turning it off produces a clean frame with nothing but the lesson in it, which is the point. Turning it on leaves a back button, which is occasionally useful for getting out of a leaderboard or a shop page.

Two courses, two windows

Apple documents that a web app functions independently of Safari and shares no browsing history, cookies, website data, or settings with it. What happens in the window stays in the window.

The practical use of that is a second window. Build one pointed at the first course, build another pointed at the second, give them different names and different icons, and each opens straight into its own course. The same trick covers the non language courses, so maths or chess practice can have a slot of its own instead of being something to remember to navigate to.

It also means the window holds its own sign in. Signing out of a Google account in Safari does not sign the lesson window out, which removes a small but real source of friction for anyone who signed up with a social login.

The microphone, and other permissions

Speaking exercises need microphone access, and because the window shares no website settings with Safari, the permission has to be granted inside the window. The first time an exercise needs the microphone, the window asks. The answer given there applies to that window from then on.

The same isolation explains why the first launch asks for a sign in even though Safari is already signed in. It is working as documented rather than failing.

Notifications follow the same rule with one extra condition. Apple's feature can show the number of unread notifications as a badge on the Dock icon, but the permission prompt has to be answered inside the web app rather than in Safari before the app appears in System Settings under Notifications, where it is listed by the name given to the window rather than by the site's address. That only ever applies to notifications the website itself sends, so the reliable cue on a Mac remains the Dock icon and the login item rather than a badge.

Route Who maintains it Daily cue on a Mac Own sign in Requirement
duolingo.com in a tab Duolingo, for the site None No, shares the browser's Any modern browser
Safari Add to Dock Apple, for the window Dock icon, Cmd+Tab, login item Yes, nothing shared with Safari macOS Sonoma 14 or later
Chrome install page as app Google, for the window Dock icon Tied to the Chrome profile used Chrome
Site to app tool The tool's maker Dock icon, and one window per course Yes, an isolated profile per app Varies by tool
The iPhone or Android app Duolingo Push notifications Yes, it is a real app A phone or tablet
Android emulator on a Mac The emulator's maker Dock icon for the emulator Separate, but it is the phone app Large install, phone interface

The last row deserves a plain answer rather than a dismissal, because it is what many Mac download pages actually provide. An emulator does run the phone app, and it does put an icon in the Dock. What it also does is present a phone interface at desktop size, add a large installation Duolingo does not maintain, and route every keystroke through an extra layer. For exercises that involve typing full sentences, the website on a real keyboard is the better experience, and it is the surface Duolingo builds for computers.

What the window does not change

The account decides what the product does. Duolingo's help centre covers the paid tiers under its own headings, with Super Duolingo, the Family Plan, and Duolingo Max each getting their own article, and none of that depends on the container the site is viewed in. A window does not unlock features, remove advertising, or add hearts.

It also does not make the site work offline. Duolingo's courses are served from Duolingo's servers, and a window is a window onto them.

What it changes is narrow and worth having anyway: where the lesson lives, how many actions it takes to start one, and whether the thing gets opened at all on days spent entirely on a Mac. Habit software is judged on the last of those.

The point where one window becomes several

Ten minutes builds one. The reason people end up looking for a tool rather than a menu command is that a study setup is rarely one site.

A realistic version is the course itself, a dictionary, a flashcard site, a grammar reference, and a video or podcast service in the target language. Every one of those has the same two properties as Duolingo: no Mac application exists, and each is a tab today competing with work for the same strip of screen. Turning all of them into windows produces something that genuinely resembles a study environment, where switching between reference and practice is Cmd+Tab rather than tab archaeology.

Built by hand, each one repeats the same sequence: open the page, sign in, add to Dock, rename, choose an icon, set the launch address, decide about the navigation controls. Five times is tedious. Five times again on a replacement Mac is the point at which the sequence should belong to something else. That is the case for a site to app tool, and the practical difference is a prepared list where the name, the address, and the official icon are already filled in, which is what supported services means.

One technical difference decides the choice for some people. Windows built through Safari run on WebKit and carry the Safari extensions enabled for them. Some site to app tools build on Chromium instead, which keeps Chrome Web Store extensions working inside each window. For a study setup that leans on a translation extension or a password manager, that is the deciding factor rather than a footnote.

What to change first

Open the course page in Safari, use File then Add to Dock, and then set the window's launch address to the course itself rather than the home page. Add it as a login item, because the cue is the entire point. If a dictionary and a flashcard site deserve the same treatment, Kagemusha builds each window from a preset instead of by hand, and the first three cost nothing.

Frequently asked questions

Is there an official Duolingo app for Mac?

No. Duolingo's site offers two downloads, the App Store for iPhone and iPad and Google Play for Android, and the courses themselves live on the website at duolingo.com. Anything presented as a macOS installer for Duolingo comes from somewhere other than Duolingo, usually an Android emulator or a download aggregator.

What about the Duolingo desktop app that shows up in search results?

That belongs to the Duolingo English Test, which is a separate proctored exam service on its own site rather than the language courses. Its download page asks for an account to be created before it shows anything. Installing it does not put lessons on the Mac.

Will a Dock window keep a streak alive?

It removes the two reasons streaks break on a Mac, which are forgetting and friction. A window has a Dock icon, appears in Cmd+Tab under its own name, and can be added as a login item so it opens at login. What it cannot do is send a phone style push reminder, because that comes from the mobile app.

Do speaking exercises work in a window like this?

Microphone access has to be granted inside the window. Apple documents that a web app shares no website data or settings with Safari, so a permission granted in Safari does not carry over. The window asks the first time an exercise needs the microphone, and the answer given there applies from then on.

Can two languages have two separate windows?

Yes, and it is the best reason to build more than one. Each window keeps its own session and can be pointed at a specific course address, given its own name, and given its own icon. Two windows in the Dock, each opening straight into its own course, is considerably better than one window that opens on a home page and waits to be told what to do.

Back to all posts