screenshot of FreeDOS 1.3

Welcome to FreeDOS

FreeDOS is an open source DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems. Any program that works on MS-DOS should also run on FreeDOS.

Play classic games

You can play your favorite DOS games on FreeDOS. And there are a lot of great classic games to play: Wolfenstein 3D, Doom, Commander Keen, Rise of the Triad, Jill of the Jungle, Duke Nukem, and many others!

Run applications

You can run your favorite DOS programs with FreeDOS. Or use FreeDOS to run a legacy DOS application. Just install your DOS program under FreeDOS like you would any DOS application and you'll be good to go.

For developers

FreeDOS includes lots of programming tools so you can create your own DOS programs. You can also modify FreeDOS itself, because we include the source code under an open source license.

What’s New

FreeDOS Edlin 2.24

Edlin is an awesome line-oriented editor. That means you edit one line at a time, not full-screen. Gregory Pietsch has released Edlin version 2.24 that moves the copyright and program info to the '?' help screen. It also changes the "Abort edit?" prompt when you exit to "Really quit?" I love these changes; I use Edlin to write quick batch files, like to capture some commands I just ran as a BAT file, and moving the copyright info to the '?' page means the commands don't scroll off the screen. Thanks Gregory! You can find the new version at FreeDOS Edlin at SF or mirrored at the FreeDOS Files Archive at Ibiblio under /files/dos/edlin. We've also mirrored an EXE you can run.

NASM 2.16.03

Netwide Assembler - abbreviated NASM - is an assembler for the x86 CPU architecture portable to nearly every modern platform, and with code generation for many platforms including DOS. NASM 2.16.03 was recently released, but is a source build machinery and documentation update only. Changes include: Fix building from git in a separate directory from the source, and remove some irrelevant files from the source. There are no functionality changes. Download the latest version at NASM 2.16.03 - including the DOS version.

GnuPG 1.4.23 for DOS

GnuPG, aka GNU Privacy Guard, is a complete and free implementation of the OpenPGP standard as defined by RFC4880. GnuPG allows you to encrypt and sign your data and communications. Ben Collver has compiled GnuPG version 1.4.23 for DOS, built with DJGPP. You can download it from GnuPG at

httpDOS web server for DOS

SuperIlu has created a simple TLS-capable HTTP server for DOS. As SuperIlu explains, "It is not in real working condition" but it's an interesting demonstration of what you can do with DOS in 2024. httpDOS is distributed under the BSD license, with components under other open source licenses. You can find it on the httpDOS GitHub project.

Microsoft and IBM release MS-DOS 4.00 as open source software

Ten years ago, Microsoft partnered with the Computer History Museum to post the MS-DOS 1.01 and 2.0 source code as a historical archive. Unfortunately, this used a "look but do not touch" license that was definitely not open source. But in 2018, Microsoft again released the source code to MS-DOS 1.25 and 2.0 on GitHub using the MIT open source license, which is compatible with the GNU GPL.

And this week, Microsoft partnered with IBM to release the source code to MS-DOS 4.00, also under the MIT license. See the announcement for additional details about how they uncovered the source code. You can download the MS-DOS 4.00 source code from GitHub.

However, you may have some problems in compiling the code as-is; the OS/2 Museum has a discussion about the issues, but the 1-line takeaway is DOS Code Page 437 is not the same as UTF-8. FreeDOS developer 'ecm' shared on our freedos-devel email list what you need to do to fix it.


USBDDOS is a USB driver stack for DOS. It was originally named RWDDOS before released to public, which is only a driver for RetroWave OPL3, and later more drviers added (mouse, keyboard, disk) and renamed to USBDDOS. USBDDOS uses DPMI to perform PCI bus master DMA (MMIO), and also save conventional memory for other DOS programs. You can find the source code at USBDDOS on GitHub.