macOS
AvailableRuns on Intel and Apple Silicon Macs, since it only inspects the .app bundle.
macOS available now · Linux coming soon
toexe is a terminal tool. Run toexe in a folder that contains .app bundles.
It finds them, detects what each one is built on, and tries to convert it.
Electron apps are repackaged into a real Windows .exe folder.
Apps built on Swift, Qt, Flutter and similar frameworks are refused right away.
Simple Java/JAR-based apps can be wrapped for Windows.
curl -fsSL https://raw.githubusercontent.com/tommfr38/toexe/main/install.sh | sh
Then cd to a folder of apps and run toexe.
Works on Intel and Apple Silicon Macs, because it only inspects the bundle.
See exactly what can and can't convert.
A native macOS app is compiled for macOS and calls Apple-only frameworks. No tool can generically turn that into a Windows program, and toexe doesn't pretend to. It refuses those apps immediately, so you get a clear answer instead of a broken file. What it can do is repackage Electron apps (their code is JavaScript, so it runs on the Windows build of Electron) and wrap simple Java apps. Even then, test the result on Windows: toexe cannot run it for you.
With several apps in a folder, toexe shows a numbered list and asks which one. Here is an Electron app converted, a Swift app refused, then a Java app wrapped.
~/Downloads $ toexe Found 4 apps in ~/Downloads: 1) JarPeek.app 2) Markr.app 3) Notely.app 4) Sketchbox.app Which to convert? [number, 1,3, 2-4, all, q] 3,4 Notely.app Detected: Electron (repackaged with the official Windows Electron runtime) Created a Windows app (Electron 33.2.1, win32-x64) Notely.exe (the Windows Electron runtime running this app's code) Not run on Windows by toexe. Test the result on a Windows machine. Sketchbox.app Swift based apps cannot become exe Why: Swift apps are compiled to native macOS machine code against Apple frameworks. Nothing can be repackaged. 1 converted, 1 refused ~/Downloads $ toexe JarPeek.app JarPeek.app Created a Java WRAPPER (NOT a native .exe) Requires a Windows Java runtime (JRE) on PATH. 1 converted, 0 refused
Example session with made-up app names. The messages follow the real CLI output; the Swift "Why" line is shortened.
Three steps. No GUI, no account.
Run the one-line installer in your terminal. It needs macOS and Node 18 or newer.
curl -fsSL https://raw.githubusercontent.com/tommfr38/toexe/main/install.sh | sh
In any folder with .app bundles, type toexe. It finds them and, if there are several, shows a numbered list and asks which one.
cd ~/Downloads && toexe
toexe inspects the bundle to see what the app is built on. If that is a framework it can't handle, it stops and says so. An Electron app gets a Windows folder with a real .exe, and a simple Java/JAR app gets a Windows wrapper.
Swift based apps cannot become exe
toexe doesn't translate Mac code. It identifies the framework and either refuses, repackages an Electron app with the Windows Electron runtime, or, for simple Java apps, wraps the JAR.
| App is built on | Result | What you see |
|---|---|---|
| Simple Java / JAR | Wrapped | A Windows wrapper around the JAR. Not a native exe: the Windows machine needs a Java runtime (JRE). |
| Electron | Converted | A folder with a real .exe: the official Windows Electron runtime (downloaded and checksum-verified) running your app's code. Refused with Electron apps with native macOS modules cannot become exe if the app has .node modules, or Electron based apps cannot become exe if its version can't be read. |
| Swift | Refused | Swift based apps cannot become exe |
| Objective-C / AppKit | Refused | Refused with the same kind of message. |
| SwiftUI | Refused | Refused with the same kind of message. |
| Qt | Refused | Refused with the same kind of message. |
| Flutter | Refused | Refused with the same kind of message. |
| Tauri | Refused | Refused with the same kind of message. |
| Unity | Refused | Refused with the same kind of message. |
| CEF (Chromium Embedded) | Refused | Refused with the same kind of message. |
| Plain C++ or anything unrecognized | Refused | Unrecognized app type: toexe could not identify a convertible runtime. Compiled native code can't be translated, so nothing is produced. |
Where you can run toexe today.
Runs on Intel and Apple Silicon Macs, since it only inspects the .app bundle.
Not available yet, and there is no date. This website collects no data: no sign-up, no analytics, no cookies.
A native Mac app is machine code compiled for macOS that talks to Apple's own frameworks, and frameworks such as Qt, Flutter, Tauri and Unity ship macOS-specific binaries too. Windows has none of those pieces, so there is no generic translation. Any tool claiming to convert any Mac app to a Windows exe is overselling. toexe checks what the app is built on and refuses what it can't honestly handle.
Yes. It works on both Intel and Apple Silicon Macs because it only inspects the app bundle and doesn't run the app.
Yes, with limits. An Electron app is a copy of the Electron runtime plus your app's JavaScript. toexe downloads the official Windows build of the same Electron version from GitHub, verifies its checksum, and puts the app's code into it. You get a folder with <App>.exe that is a real Windows executable. Apps with native Node modules (.node files built for macOS) are refused, and toexe can't test the result on Windows, so check it there. Use --arch to pick x64, arm64 or ia32.
For a simple Java/JAR-based app it creates a Windows wrapper around the JAR. That is not a native exe, so the Windows machine needs a Java runtime (JRE) installed to run it. Complex apps that merely use Java alongside other components may still be refused.
Look for an official Windows version from the developer. If the app is open source, it can often be built for Windows from its source code. toexe can't help with either, but it will have saved you from a broken file.
Run curl -fsSL https://raw.githubusercontent.com/tommfr38/toexe/main/install.sh | sh. It downloads the latest release from GitHub, checks its checksum, installs to ~/.toexe and adds a toexe command in ~/.local/bin. No sudo needed. Then run toexe in a folder with your apps.
It is planned, but there is no date. macOS is the only available platform today.