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

CreatorFirst public releaseLatest stable versionLatest Release DateProgramming languageCost Software licenseOpen sourceCLI availableMinimum installed size
AcmeRob Pike1993Plan 9 and InfernoC
AkelPadAlexey Kuznetsov, Alexander Shengalts20034.9.820160718C
AlphatkVince Darley19998.3.320041210
AquamacsDavid Reitter20053.520190818C, Emacs Lisp
AtomGitHub20141.46.020200505HTML, CSS, JavaScript, C++~ 107185MB
BBEditRich Siegel199213.0.420200115Objective-C, Objective-C++
BluefishBluefish Development Team19992.2.1020170127C
BracketsAdobe Systems20121.1420190502HTML, CSS, JavaScript, C++~ 64105MB
CodaPanic20072.6.620170605Objective-C
ConTEXTConTEXT Project Ltd19990.98.620090814Object Pascal
Crimson EditorIngyu Kang, Emerald Editor Team19993.7220080514C++
CudaTextUVViewSoft 20151.57.020180625Object Pascal 8MB Mac
12MB Win
5Mb *nix
edKen Thompson1970unchanged from originalC0.04MB
EditPlusSangil Kim19985.020180326C++
EditraCody Precord20070.7.2020130105Python
EmEditorEmurasoft, Inc.199718.6420190208C++
epsilonLugaru Software198413.0620161206C
geditGNU Project20003.28.2 20180509C
GeanyEnrico Tröger20051.3320180225C, GTK2
GNU EmacsRichard Stallman198426.120180528C, Emacs Lisp11.6MB
GNU nanoChris Allegretta19995.020200729C0.6MB
JEDJohn E. Davis19920.991920091213C, S-Lang3.5MB
jEditSlava Pestov19985.5.020180409Java
JOEJoseph Allen19884.620180110C1.3MB
JOVEJohnathon Payne19834.1619960319C
KateKDE Project20001219.12.320200324C++
KEDITMansfield Software Group, Inc.19831.6.120161205C1.1MB
Komodo EditActivestate2007 10.2.320170711Python, JavaScript, Perl, Tcl, PHP, Ruby
Komodo IDEActivestate200111.0.220171219Python, JavaScript, Perl, Tcl, PHP, Ruby
KWriteKDE Project200017.12.320170308C++
LEAlexander V. Lukyanov19971.16.320160606C++
LeoEdward K. Ream19965.7.220180507Python
Light TableChris Granger20120.8.120160121ClojureScript
MetapadAlexander Davidson19993.620110528C
mgDave Conroy1986currentC
MinEdThomas Wolff19922015.2520150330C
MS-DOS EditorMicrosoft19912.0.026
neSebastiano Vigna, Todd Lewis, Daniele Filaretti19933.2.120191002C2.7MB
NEditMark Edel19915.720170208C
NotepadMicrosoft19856.0MASM
Notepad++Don Ho200311257.8.420200130C++11.9MB
Notepad2Florian Balmer2004044.2.2520110506C++
NoteTabEric Fookes, Fookes Software19957.220141104Object Pascal , €39.95 Pro
nviKeith Bostic19941.79C
PicoUniversity of Washington19924.64C
PolyEditPolySoft Solutions19985.420100407
PSPadJan Fiala20025.0.3 20200210Object Pascal
Q10Baara Estudio20071.2.2120110616?
RJ TextEdRickard Johansson200413.1020180507Object Pascal
SamRob Pike1980s stableC
SciTENeil Hodgson19994.0.520180410C++
SlickEditSlickEdit, Inc.198823.0.020181023C, Slick-C
SmultronPeter Borg20049.2.320170220Objective-C
Source InsightSource Dynamics4.0.008420170226Source Insight macro language
SubEthaEditTheCodingMonkeys20034.120150225
Sublime TextJon Skinner20083.2.22019101C++, Python
TED NotepadJuraj Simlovic20016.1.120161204C
TextadeptMitchell200710.820200101C, Lua
TextEditApple Inc.20011.1320170716
TextMateMacroMates200410101.5.1120120713Objective-C++
TextPadHelios Software Solutions19928.4.220200707
TextWranglerBare Bones Software20035.5.220160920
The SemWare EditorSammy Mitchell1985114.420050624C, SAL
UltraEditIDM Computer Solutions199425.020180312C++
VEDITTed Green, Greenview Data19806.24.220150112Assembly, C0.6MB
viBill Joy19763.7C or CDDL
VimBram Moolenaar19918.220191212C, Vim script compatible2.2MB
Visual Studio CodeMicrosoft20151.40.120191113JavaScript, TypeScript~ 5382MB
XEmacsLucid Inc.199121.4.2220090130C, 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 WindowsmacOSLinuxBSDUnixOpenVMS
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 instancesSingle document window splittingMDI: overlappable windowsMDI: tabbed document interfaceMDI: 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 instancesSingle document window splittingMDI: overlappable windowsMDI: tabbed document interfaceMDI: window splitting

Basic features

Spell checkingRegex-based find & replaceEncoding conversionNewline conversionMultiple undo/redoRectangular 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 checkingRegex-based find & replaceEncoding conversionNewline conversionMultiple undo/redoRectangular 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 checkingRegex-based find & replaceEncoding conversionNewline conversionMultiple undo/redoRectangular 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.
Dynamically customizableIBM CUAmacOSViEmacsPicoWordStarWordPerfectBrief
Acme
AkelPad
Alphatk
Aquamacs
BBEdit
Bluefish
Brackets
Plugin

Plugin
Coda
ConTEXT
Crimson Editor
CudaText
ed
EditPlus
Editra
EmEditor
epsilon
Geany
gedit
GNU Emacs



JED
jEdit
JOE
JOVE
LE
Light Table
Plugin

Plugin
Kate
KEDIT
Komodo Edit
Komodo IDE
KWrite
Metapad
mg
mined
MS-DOS Editor
Nano
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
Plugin

Plugin


Plugin

Plugin

Plugin
Visual Studio Code
Plugin

Plugin
XEmacs



Dynamically customizableIBM CUAmacOSViEmacsPicoWordStarWordPerfectBrief

Protocol support

Support for editing files over a network or the Internet.
FTPHTTPSSHWebDAV
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
FTPHTTPSSHWebDAV
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
FTPHTTPSSHWebDAV

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.
ASCIIISO-8859DOS EBCDICUTF-8UTF-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
ASCIIISO-8859DOS EBCDICUTF-8UTF-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
ASCIIISO-8859DOS EBCDICUTF-8UTF-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
RTLBidi
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
RTLBidi

Newline support