Comparison of text editors
This article provides basic comparisons for notable text editors. More feature details for text editors are available from the :Category:Text editor features|Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.
Feature comparisons are made between stable versions of software, not the upcoming versions or beta releases – and are exclusive of any add-ons, extensions or external programs.
Overview
Creator | First public release | Latest stable version | Latest Release Date | Programming language | Cost | Software license | Open source | CLI available | Minimum installed size | |
Acme | Rob Pike | 1993 | Plan 9 and Inferno | C | ||||||
AkelPad | Alexey Kuznetsov, Alexander Shengalts | 2003 | 4.9.8 | 20160718 | C | |||||
Alphatk | Vince Darley | 1999 | 8.3.3 | 20041210 | ||||||
Aquamacs | David Reitter | 2005 | 3.5 | 20190818 | C, Emacs Lisp | |||||
Atom | GitHub | 2014 | 1.46.0 | 20200505 | HTML, CSS, JavaScript, C++ | ~ 107185MB | ||||
BBEdit | Rich Siegel | 1992 | 13.0.4 | 20200115 | Objective-C, Objective-C++ | |||||
Bluefish | Bluefish Development Team | 1999 | 2.2.10 | 20170127 | C | |||||
Brackets | Adobe Systems | 2012 | 1.14 | 20190502 | HTML, CSS, JavaScript, C++ | ~ 64105MB | ||||
Coda | Panic | 2007 | 2.6.6 | 20170605 | Objective-C | |||||
ConTEXT | ConTEXT Project Ltd | 1999 | 0.98.6 | 20090814 | Object Pascal | |||||
Crimson Editor | Ingyu Kang, Emerald Editor Team | 1999 | 3.72 | 20080514 | C++ | |||||
CudaText | UVViewSoft | 2015 | 1.57.0 | 20180625 | Object Pascal | 8MB Mac 12MB Win 5Mb *nix | ||||
ed | Ken Thompson | 1970 | unchanged from original | C | 0.04MB | |||||
EditPlus | Sangil Kim | 1998 | 5.0 | 20180326 | C++ | |||||
Editra | Cody Precord | 2007 | 0.7.20 | 20130105 | Python | |||||
EmEditor | Emurasoft, Inc. | 1997 | 18.64 | 20190208 | C++ | |||||
epsilon | Lugaru Software | 1984 | 13.06 | 20161206 | C | |||||
gedit | GNU Project | 2000 | 3.28.2 | 20180509 | C | |||||
Geany | Enrico Tröger | 2005 | 1.33 | 20180225 | C, GTK2 | |||||
GNU Emacs | Richard Stallman | 1984 | 26.1 | 20180528 | C, Emacs Lisp | 11.6MB | ||||
GNU nano | Chris Allegretta | 1999 | 5.0 | 20200729 | C | 0.6MB | ||||
JED | John E. Davis | 1992 | 0.9919 | 20091213 | C, S-Lang | 3.5MB | ||||
jEdit | Slava Pestov | 1998 | 5.5.0 | 20180409 | Java | |||||
JOE | Joseph Allen | 1988 | 4.6 | 20180110 | C | 1.3MB | ||||
JOVE | Johnathon Payne | 1983 | 4.16 | 19960319 | C | |||||
Kate | KDE Project | 200012 | 19.12.3 | 20200324 | C++ | |||||
KEDIT | Mansfield Software Group, Inc. | 1983 | 1.6.1 | 20161205 | C | 1.1MB | ||||
Komodo Edit | Activestate | 2007 | 10.2.3 | 20170711 | Python, JavaScript, Perl, Tcl, PHP, Ruby | |||||
Komodo IDE | Activestate | 2001 | 11.0.2 | 20171219 | Python, JavaScript, Perl, Tcl, PHP, Ruby | |||||
KWrite | KDE Project | 2000 | 17.12.3 | 20170308 | C++ | |||||
LE | Alexander V. Lukyanov | 1997 | 1.16.3 | 20160606 | C++ | |||||
Leo | Edward K. Ream | 1996 | 5.7.2 | 20180507 | Python | |||||
Light Table | Chris Granger | 2012 | 0.8.1 | 20160121 | ClojureScript | |||||
Metapad | Alexander Davidson | 1999 | 3.6 | 20110528 | C | |||||
mg | Dave Conroy | 1986 | current | C | ||||||
MinEd | Thomas Wolff | 1992 | 2015.25 | 20150330 | C | |||||
MS-DOS Editor | Microsoft | 1991 | 2.0.026 | |||||||
ne | Sebastiano Vigna, Todd Lewis, Daniele Filaretti | 1993 | 3.2.1 | 20191002 | C | 2.7MB | ||||
NEdit | Mark Edel | 1991 | 5.7 | 20170208 | C | |||||
Notepad | Microsoft | 1985 | 6.0 | MASM | ||||||
Notepad++ | Don Ho | 20031125 | 7.8.4 | 20200130 | C++ | 11.9MB | ||||
Notepad2 | Florian Balmer | 200404 | 4.2.25 | 20110506 | C++ | |||||
NoteTab | Eric Fookes, Fookes Software | 1995 | 7.2 | 20141104 | Object Pascal | , €39.95 Pro | ||||
nvi | Keith Bostic | 1994 | 1.79 | C | ||||||
Pico | University of Washington | 1992 | 4.64 | C | ||||||
PolyEdit | PolySoft Solutions | 1998 | 5.4 | 20100407 | ||||||
PSPad | Jan Fiala | 2002 | 5.0.3 | 20200210 | Object Pascal | |||||
Q10 | Baara Estudio | 2007 | 1.2.21 | 20110616 | ? | |||||
RJ TextEd | Rickard Johansson | 2004 | 13.10 | 20180507 | Object Pascal | |||||
Sam | Rob Pike | 1980s | stable | C | ||||||
SciTE | Neil Hodgson | 1999 | 4.0.5 | 20180410 | C++ | |||||
SlickEdit | SlickEdit, Inc. | 1988 | 23.0.0 | 20181023 | C, Slick-C | |||||
Smultron | Peter Borg | 2004 | 9.2.3 | 20170220 | Objective-C | |||||
Source Insight | Source Dynamics | 4.0.0084 | 20170226 | Source Insight macro language | ||||||
SubEthaEdit | TheCodingMonkeys | 2003 | 4.1 | 20150225 | ||||||
Sublime Text | Jon Skinner | 2008 | 3.2.2 | 2019101 | C++, Python | |||||
TED Notepad | Juraj Simlovic | 2001 | 6.1.1 | 20161204 | C | |||||
Textadept | Mitchell | 2007 | 10.8 | 20200101 | C, Lua | |||||
TextEdit | Apple Inc. | 2001 | 1.13 | 20170716 | ||||||
TextMate | MacroMates | 20041010 | 1.5.11 | 20120713 | Objective-C++ | |||||
TextPad | Helios Software Solutions | 1992 | 8.4.2 | 20200707 | ||||||
TextWrangler | Bare Bones Software | 2003 | 5.5.2 | 20160920 | ||||||
The SemWare Editor | Sammy Mitchell | 198511 | 4.4 | 20050624 | C, SAL | |||||
UltraEdit | IDM Computer Solutions | 1994 | 25.0 | 20180312 | C++ | |||||
VEDIT | Ted Green, Greenview Data | 1980 | 6.24.2 | 20150112 | Assembly, C | 0.6MB | ||||
vi | Bill Joy | 1976 | 3.7 | C | or CDDL | |||||
Vim | Bram Moolenaar | 1991 | 8.2 | 20191212 | C, Vim script | compatible | 2.2MB | |||
Visual Studio Code | Microsoft | 2015 | 1.40.1 | 20191113 | JavaScript, TypeScript | ~ 5382MB | ||||
XEmacs | Lucid Inc. | 1991 | 21.4.22 | 20090130 | C, Emacs Lisp |
Operating system support
This section lists the operating systems that different editors can run on. Some editors run on additional operating systems that are not listed.Cross-platform
Microsoft Windows | macOS | Linux | BSD | Unix | OpenVMS | |
Acme | ||||||
AkelPad | ||||||
Alphatk | ||||||
Aquamacs | ||||||
Atom | ||||||
Arachnophilia | ||||||
BBEdit | ||||||
Bluefish | ||||||
Brackets | ||||||
Coda | ||||||
ConTEXT | ||||||
Crimson Editor | ||||||
CudaText | ||||||
ed | ||||||
EditPlus | ||||||
Editra | ||||||
EmEditor | ||||||
epsilon | ||||||
Geany | ||||||
gedit | ||||||
GNU Emacs | ||||||
JED | ||||||
jEdit | ||||||
JOE | ||||||
JOVE | ||||||
Kate | ||||||
KEDIT | ||||||
Komodo Edit | ||||||
Komodo IDE | ||||||
KWrite | ||||||
LE | ||||||
Light Table | ||||||
Metapad | ||||||
mg | ||||||
MinEd | ||||||
Nano | ||||||
ne | ||||||
NEdit | ||||||
Notepad | ||||||
Notepad++ | ||||||
Notepad2 | ||||||
NoteTab | ||||||
nvi | ||||||
Pico | ||||||
PSPad | ||||||
Q10 | ||||||
RJ TextEd | ||||||
Sam | ||||||
SciTE | ||||||
SlickEdit | ||||||
Smultron | ||||||
Source Insight | ||||||
SubEthaEdit | ||||||
TED Notepad | ||||||
Textadept | ||||||
TextEdit | ||||||
TextMate | ||||||
TextPad | ||||||
TextWrangler | ||||||
The SemWare Editor | ||||||
UltraEdit | ||||||
Ulysses | ||||||
vi | ||||||
Vim | ||||||
Visual Studio Code | ||||||
XEmacs |
Natural language (localization)
Document interface
Multiple instances | Single document window splitting | MDI: overlappable windows | MDI: tabbed document interface | MDI: window splitting | |
Acme | |||||
AkelPad | |||||
Alphatk | |||||
Atom | |||||
Aquamacs | |||||
BBEdit | |||||
Bluefish | |||||
Brackets | |||||
Coda | |||||
ConTEXT | |||||
Crimson Editor | |||||
CudaText | |||||
ed | |||||
EditPlus | |||||
Editra | |||||
EmEditor | |||||
Geany | Plugin | ||||
gedit | Plugin | Plugin | |||
GNU Emacs | Plugin | ||||
JED | |||||
jEdit | |||||
JOE | |||||
JOVE | |||||
Kate | |||||
KEDIT | |||||
Komodo Edit | |||||
Komodo IDE | |||||
KWrite | |||||
LE | |||||
Light Table | |||||
Metapad | |||||
mined | |||||
MS-DOS Editor | |||||
Nano | |||||
NEdit | |||||
Notepad | |||||
Notepad++ | 2 windows | ||||
Notepad2 | |||||
NoteTab | 2 windows | ||||
nvi | |||||
Pico | |||||
PolyEdit | |||||
PSPad | |||||
Q10 | |||||
RJ TextEd | |||||
Sam | |||||
SciTE | |||||
SlickEdit | |||||
Smultron | |||||
Source Insight | |||||
SubEthaEdit | |||||
TED Notepad | |||||
TextEdit | |||||
TextMate | |||||
TextPad | |||||
TextWrangler | |||||
The SemWare Editor | |||||
UltraEdit | |||||
VEDIT | |||||
vi | |||||
Vim | |||||
Visual Studio Code | |||||
XEmacs | |||||
Multiple instances | Single document window splitting | MDI: overlappable windows | MDI: tabbed document interface | MDI: window splitting |
Basic features
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection | |
Acme | external | |||||
AkelPad | Plugin | |||||
Alphatk | ||||||
Atom | Plugin | |||||
Aquamacs | ||||||
BBEdit | ||||||
Bluefish | ||||||
Brackets | Plugin | Plugin | ||||
Coda | ||||||
ConTEXT | ||||||
Crimson Editor | Instant/live | |||||
CudaText | ||||||
ed | ||||||
EditPlus | ||||||
Editra | ||||||
EmEditor | ||||||
Geany | Plugin | |||||
gedit | Plugin | |||||
GNU Emacs | Plugin | |||||
JED | ||||||
jEdit | Plugin | |||||
JOE | Plugin | |||||
JOVE | ||||||
Kate | ||||||
KEDIT | ||||||
Komodo Edit | ||||||
Komodo IDE | ||||||
KWrite | ||||||
LE | ||||||
Light Table | Plugin | |||||
Metapad | ||||||
mg | ||||||
MinEd | ||||||
MS-DOS Editor | ||||||
Nano | ||||||
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection | |
ne | ||||||
NEdit | Plugin | |||||
Notepad | ||||||
Notepad++ | ||||||
Notepad2 | ||||||
NoteTab | ||||||
nvi | ||||||
Pico | ||||||
PolyEdit | ||||||
PSPad | ||||||
Q10 | ||||||
RJ TextEd | ||||||
Sam | ||||||
SciTE | ||||||
SlickEdit | ||||||
Smultron | ||||||
Source Insight | ||||||
SubEthaEdit | ||||||
TED Notepad | ||||||
TextEdit | ||||||
TextMate | ||||||
TextPad | ||||||
TextWrangler | ||||||
The SemWare Editor | ||||||
UltraEdit | ||||||
VEDIT | ||||||
vi | ||||||
Vim | ||||||
Visual Studio Code | Plugin | |||||
XEmacs | Plugin | |||||
Spell checking | Regex-based find & replace | Encoding conversion | Newline conversion | Multiple undo/redo | Rectangular block selection |
Programming features
Extra features
Large file support:
In general, most text editors do not support large text files. Some restrict themselves to available in-core RAM while others use sophisticated virtual memory management techniques and paging algorithms.
Search in files:
Perform search in multiple files on disk, for example on a sub-directory and recursively all the directories below it.
Similar to grep.
Key bindings
Support for custom key bindings.Protocol support
Support for editing files over a network or the Internet.FTP | HTTP | SSH | WebDAV | |
Acme | ||||
AkelPad | ||||
Alphatk | ||||
Aquamacs | ||||
BBEdit | ||||
Bluefish | ||||
Brackets | Plugin | |||
Coda | ||||
ConTEXT | ||||
Crimson Editor | ||||
CudaText | ||||
ed | ||||
EditPlus | ||||
Editra | ||||
EmEditor | ||||
Geany | ||||
gedit | ||||
GNU Emacs | ||||
JED | ||||
jEdit | plugin | plugin | . | |
JOE | ||||
JOVE | ||||
LE | ||||
Kate | ||||
KEDIT | ||||
Komodo IDE | FTP, FTPS, SFTP | |||
KWrite | ||||
Metapad | ||||
mined | ||||
MS-DOS Editor | ||||
Nano | ||||
FTP | HTTP | SSH | WebDAV | |
NEdit | ||||
Notepad | ||||
Notepad++ | Plugin for FTP, FTPS, FTPES, SFTP | Plugin | ||
Notepad2 | ||||
NoteTab | ||||
nvi | ||||
Pico | ||||
PolyEdit | ||||
PSPad | ||||
Q10 | ||||
RJ TextEd | FTP, SFTP | |||
Sam | ||||
SciTE | ||||
SlickEdit | ||||
Smultron | ||||
Source Insight | ||||
SubEthaEdit | ||||
TED Notepad | ||||
TextEdit | ||||
TextMate | ||||
TextPad | ||||
TextWrangler | FTP, SFTP | |||
The SemWare Editor | ||||
UltraEdit | ||||
VEDIT | ||||
vi | ||||
Vim | ||||
Visual Studio Code | Plugin | Plugin | Plugin | Plugin |
XEmacs | ||||
FTP | HTTP | SSH | WebDAV |
Unicode and other character encodings
To support specified character encoding, the editor must be able to load, save, view and edit text in the specific encoding and not destroy any characters. For UTF-8 and UTF-16, this requires internal 16-bit character support.Partial support is indicated if: 1) the editor can only convert the character encoding to internal format for editing.
2) If some encodings are supported only in some platforms.
3) If the editor can only display specific character set by loading corresponding font, but does not support keyboard entry for that character set.
ASCII | ISO-8859 | DOS | EBCDIC | UTF-8 | UTF-16 | |
Acme | ||||||
AkelPad | ||||||
Alphatk | ||||||
Aquamacs | ||||||
BBEdit | ||||||
Bluefish | ||||||
Brackets | ||||||
Coda | ||||||
ConTEXT | ||||||
Crimson Editor | ||||||
CudaText | ||||||
ed | ||||||
EditPlus | ||||||
Editra | ||||||
EmEditor | ||||||
Geany | ||||||
gedit | ||||||
GNU Emacs | ||||||
JED | ||||||
jEdit | ||||||
JOE | ||||||
JOVE | ||||||
LE | ||||||
Kate | ||||||
KEDIT | ||||||
Komodo Edit | ||||||
Komodo IDE | ||||||
KWrite | ||||||
Metapad | ||||||
mined | ||||||
MS-DOS Editor | ||||||
Nano | ||||||
ASCII | ISO-8859 | DOS | EBCDIC | UTF-8 | UTF-16 | |
NEdit | ||||||
Notepad | ||||||
Notepad++ | ||||||
Notepad2 | ||||||
NoteTab | ||||||
nvi | ||||||
Pico | ||||||
PolyEdit | ||||||
PSPad | ||||||
Q10 | ||||||
RJ TextEd | ||||||
Sam | ||||||
SciTE | ||||||
SlickEdit | ||||||
Smultron | ||||||
Source Insight | ||||||
SubEthaEdit | ||||||
TED Notepad | ||||||
TextEdit | ||||||
TextMate | ||||||
TextPad | ||||||
TextWrangler | ||||||
The SemWare Editor | Plugin | |||||
UltraEdit | ||||||
VEDIT | ||||||
vi | ||||||
Vim | ||||||
Visual Studio Code | ||||||
XEmacs | ||||||
ASCII | ISO-8859 | DOS | EBCDIC | UTF-8 | UTF-16 |
Right-to-left and bidirectional text
Support for Right-To-Left texts is necessary for editing some languages like Arabic, Persian, Hebrew, and Yiddish and the mixture of left to right and RTL known as bi-directional support.Depending on the algorithm used in the programs it might only render the bidirectional text correctly but may not be able to edit them.
Right-to-left | Bi-directional | |
Acme | ||
AkelPad | ||
Alphatk | ||
Aquamacs | ||
Atom | ||
BBEdit | ||
Bluefish | ||
Brackets | ||
Coda | ||
ConTEXT | ||
Crimson Editor | ||
ed | ||
EditPlus | ||
Editra | ||
EmEditor | ||
Geany | ||
gedit | ||
GNU Emacs | ||
JED | ||
jEdit | ||
JOE | ||
JOVE | ||
LE | ||
Kate | ||
KEDIT | ||
Komodo Edit | ||
Komodo IDE | ||
KWrite | ||
Metapad | ||
MS-DOS Editor | ||
mined | ||
Nano | ||
RTL | Bidi | |
NEdit | ||
Notepad | ||
Notepad++ | ||
Notepad2 | ||
NoteTab | ||
nvi | ||
Pico | ||
PolyEdit | ||
PSPad | ||
Q10 | ||
RJ TextEd | ||
Sam | ||
SciTE | ||
SlickEdit | ||
Smultron | ||
Source Insight | ||
SubEthaEdit | ||
TED Notepad | ||
TextEdit | ||
TextMate | ||
TextPad | ||
TextWrangler | ||
The SemWare Editor | ||
UltraEdit | ||
VEDIT | ||
vi | ||
Vim | through terminal support | |
Visual Studio Code | ||
XEmacs | ||
RTL | Bidi |