Dos2Unix / Unix2Dos - Text file format converters
Convert text files with DOS or Mac line breaks to Unix line breaks and vice versa.
Erwin's homepage. (WCD - Wherever Change Directory)|
This is an update of Benjamin Lin's implementations of dos2unix and
unix2dos. Benjamin Lin's implementations of dos2unix and unix2dos
are part of several Linux distributions such as RedHat, Fedora,
Suse, Gentoo and others. This update includes all RedHat patches and
fixes several other problems. Internationalization has been added
and ports to DOS, Windows, Cygwin and OS/2 Warp have been made.
These implementations of dos2unix and unix2dos have been modelled after
dos2unix/unix2dos under SunOS/Solaris. They have similar conversion modes,
namely ascii, 7bit and iso. The first versions were made by John Birchfield in
1989, and in 1995 rewritten from scratch by Benjamin Lin. Mac to Unix
conversion was added by Bernd Johannes Wuebben in 1998, Unix to Mac by Erwin in
- Native language support: Dutch, English, Esperanto, German, Russian, Spanish.
- Automatically skips binary and non-regular files
- In-place, paired, or stdio mode conversion.
- Keep original file dates option.
- 7-bit and iso conversion modes like SunOS dos2unix.
- Conversion of Windows Unicode (UTF-16) files to Unix Unicode (UTF-8)
- Handles Unicode Byte Order Mark (BOM)
Latest version: 6.0.5-beta6 (2014-03-07)
Stable version: 6.0.4 (2013-12-30)
2014-03-06: Version 6.0.5-beta6. New translations: Danish and Serbian
2014-02-24: Version 6.0.5-beta5. New translation: French
2014-02-05: Version 6.0.5-beta4. New translations: Brazilian Portuguese, Polish, Ukrainian, and Vietnamese. Updated translations: Dutch, and Esperanto
2014-01-31: Version 6.0.5-beta3. Cleanup messages.Dos2unix has been added to the Translation Project
2014-01-29: Version 6.0.5-beta2. Include English manual in the source package. Updated makefiles for compilation in MSYS2. Split large help text in pieces for easier translation.
2014-01-03: Version 6.0.5-beta1. Include non-English manuals in the source package to avoid problems with perl/pod2man manual generation.
2013-12-30: Version 6.0.4. Build Windows 32 bit version with Large File Support (LFS), this fixes problems with (huge) files on network shares. New Russian translation of messages. New options -ul and -ub to convert UTF-16 files without BOM. Print value of binary symbol when found.
2013-01-25: Version 6.0.3. Dos2unix compiles with Microsoft Visual C++. Print system error when writing to output fails.
2012-12-11: Dos2unix moved to a new subversion repo. See below.
2012-09-06: Version 6.0.2. The locale encoding detection has been fixed when NLS was disabled.
Print line number when a binary symbol is found.
Updated makefiles for Watcom C, and added a new one for OS/2.
2012-07-25: Version 6.0.1. The Spanish translations and the manual have been updated.
2012-05-06: Version 6.0. Conversion of Windows UTF-16 files to Unix UTF-8 files. Conversion of Unix UTF-8 files to Windows UTF-8 files with byte order mark.
2012-03-10: Version 5.3.3. Enabled wildcard expansion for all versions. Fixed a compile error when compiled with debug enabled.
2012-01-27: Version 5.3.2. Native MSYS version. Wildcard support on OS/2. Compiles with OpenWatcom for dos32 and win32.
2011-08-09: Version 5.3.1. Spanish translation of messages and manual. File ownership is maintained in old file mode (Unix only). Source code cleanup.
2011-04-26: Version 5.3. Improved handling of symbolic links. Improved error handling. Improvements for Cygwin.
2011-03-04: Version 5.2.1. Improved error messages. Enable Large File Support. PDF manual generation is optional.
2011-01-31: Version 5.2. ISO mode supports same code pages as SunOS dos2unix (CP437/850/860/863/865) and CP1252. Removed generated documentation files from source package.
7bit and Iso mode can be used in Mac mode.
Form Feed is treated as legal text character.
2010-08-18: Version 5.1.1. Dutch manual. Fixes compilation on Darwin OS. Win64 port.
2010-04-03: Version 5.1: Esperanto translation. Merged man pages. Port to 16 bit DOS. Allow to set options in stdio mode. Bugfix dos2unix MAC mode: don't change DOS line endings.
2010-02-16: Version 5.0. Dos2unix and Unix2dos have been bundled in a single package.
German translations have been added.
Dos2unix -l --newline also works in MAC mode.
Unix2dos also got option -l, --newline.
Added MAC mode to Unix2dos: Convert Unix line endings to Mac line endings.
Cleanup of messages and manual.
2010-01-24: Version 4.1.2 preserves file modes in new file mode.
2010-01-21: Version 4.1.1 fixes a compilation problem on FreeBSD.
2009-12-28: Version 4.1 automatically skips binary and non-regular files, and the ISO mode has been cleaned up (see ChangeLog).
2009-12-21: Version 4.0.1 adds a port to OS/2 Warp. Two wrong conversions in ISO mode have been fixed. The manual page has been updated.
2009-12-15: Version 4.0 adds internationalisation (Native Language Support, NLS). A Dutch translation has been added. Ports to Windows and DOS have been made. The problem in DOS/Windows stdio mode has been fixed. The manual has been updated.
dos2unix - DOS/Mac to Unix text file format converter (dos2unix/mac2unix)
unix2dos - Unix to DOS/Mac text file format converter (unix2dos/unix2mac)
NEWS.txt Basic change log.
If you want to help translating the dos2unix messages into more languages go to the Translation Project
For translation of the manual send me an email.
ChangeLog Detailed change log.
Dos2Unix manual English,
COPYING.txt Distribution license, FreeBSD (GPL compatible)
TODO.txt Things to do.
BUGS.txt Known bugs and instructions on reporting new ones.
README.txt General information.
INSTALL.txt Instructions how to build dos2unix yourself.
dos2unix-6.0.4.tar.gz Source code, Unix text.
dos2unix-pod-encoding.patch Patch if you get an error on the Dutch and Spanish POD files with new pod2man (perl 5.18): *** ERROR: Non-ASCII character seen before =encoding
dos2unix-6.0.4-doc.tar.gz Source code, documentation files (in case you can't build them).
d2u604s.zip Source code, DOS text. Including doc files.
Binaries, English only.
d2u604b.zip DOS 16 bit version.
d2u604pm.zip DOS 32 bit protected mode version.
dos2unix-6.0.4-win32.zip Windows 32 bit version.
dos2unix-6.0.4-win64.zip Windows 64 bit version.
dos2unix-6.0.4-os2.zip OS/2 Warp version. (Thanks to Elbert Pol)
Binaries with Native Language Support (NLS): Dutch, English, Esperanto, German, Russian, Spanish.
d2u604pm-nls.zip DOS 32 bit protected mode version.
dos2unix-6.0.4-win32-nls.zip Windows 32 bit version.
dos2unix-6.0.4-win64-nls.zip Windows 64 bit version.
dos2unix-6.0.4-cygwin-1.5-nls.tar.gz Cygwin 1.5.
dos2unix-6.0.5-beta6.tar.gz Source code (Unix text)
dos2unix-6.0.5-beta6-doc.tar.gz Source doc files. In case you can't build them.
d2u605b6s.zip Source code (DOS text). Including doc files.
Recursive conversion of files
To recursively convert text files in a directory tree, use dos2unix in combination with the 'find' and 'xargs' commands. For instance to convert all .txt files under the current directory type:
find . -name *.txt |xargs dos2unix
Windows users can get find and xargs from the findutils package for Windows from the ezwinports project at http://sourceforge.net/projects/ezwinports/files/.
Manual pages SunOS versions
SunOS dos2unix man page
SunOS unix2dos man page
Distributions including this version of dos2unix
openSUSE and openSuse Factory, the development branch.
Fedora Linux, and RedHat Rawhide, the development head. "sudo yum install dos2unix"
Mandriva Linux. mandriva.com. Search via rpmfind.net
Arch Linux package, look here.
Slackware package here.
Gentoo Linux provides Dos2unix in its package repository. See here
Debian Linux. See here.
Ubuntu Linux (universe). See here. "sudo apt-get install dos2unix"
Linux Mint. See here.
Fink project, Darwin and Mac OS X. See here.
MacPorts portfile. See here.
Sunfreeware, Freeware for Solaris. See http://www.sunfreeware.com.
NetBSD Packages Collection. See converters/dos2unix.
Cygwin. See http://cygwin.com/. Install with Cygwins' setup.exe. Utils/dos2unix.
MSYS/MinGW. See http://www.mingw.org/. Install with "mingw-get install msys-dos2unix" or "mingw-get install mingw32-dos2unix"
FreeDOS. See http://www.freedos.org/.
Source code libintl DLL
The win32 binaries are packaged with with a patched version of MinGW's libintl DLL that has builtin relocation support.
Since version 5.0 (2010-02-16) is Unix2Dos included in the Dos2Unix package. The separate Unix2Dos package is now obsolete.
SourceForge project page :
Freecode project page :
Latest development version from Subversion repository:
Dos2unix moved to a new subversion repository on Dec 11 2012. Check out the new repo with this command:
svn checkout svn://svn.code.sf.net/p/dos2unix/code/trunk dos2unix-code
Tofrodos by Christopher Heng
hd2u: Hany's Dos2Unix by Peter Hanecak
CygUtils contains "conv", a heavily modified version of hd2u.
Dos2Unix/Unix2Dos by Clem Dye
Flip by Craig Stuart Sapp
Flip by Rahul Dhesi.
Flip by James R. van Zandt/Rahul Dhesi.
TRCH by James Hall (FreeDos)
Unix2Dos by Angelo Campagnari
dtou/utod Part of DJGPP's development kit.
d2u by Purple Sage Computing Solutions, Inc.
strp by Eddie Buckley
u2d by Liam C. Drew
xchange by Amin Hamdan
dos2unix by Alain. Written in Delphi 3.
dos2unix/unix2dos by BestCode. Part of File Utilities tool set (commercial)