Free and Open Source Text Editors with GUI

A text editor is simply an application used for editing plain text files. Text editors are often provided with operating systems or software development packages, and can be utilized to change configuration files and programming language source code.

Typical features of text editors include search and replace, copy, cut and paste, text formatting, undo and redo, importing, and filtering. Some editors have special features and extra functions such as source code syntax highlighting and automatic completion. They are mostly used by software developers.

There are commercially available text editors with added functionality. However, thanks to some good citizens of the world, there are free excellent alternatives. Here is a list of valuable Free and Open Source text editors with graphical user interface (GUI).

*jEdit is a text editor for programmers, available under the GNU General Public License. jEdit is written in Java and runs on Mac OS X, OS/2, Unix, VMS, and Windows. jEdit development was started in 1998. The founding author was Slava Pestov, who has since left the project, handing development to the open source community. jEdit includes Syntax highlighting that provides native support for over 130 file formats. Support for additional formats can be added manually using XML files. It supports UTF-8 and many other encodings. The application is highly customizable and can be extended with macros written in BeanShell, Jython, JavaScript and some other scripting languages.

*ACE is a platform-independent, collaborative text editor. It is a real-time cooperative editing system that allows multiple geographically dispersed users to view and edit a shared text document at the same time.


*Bluefish is a powerful editor targeted towards programmers and webdesigners, with many options to write websites, scripts and programming code. Bluefish supports many programming and markup languages, and it focuses on editing dynamic and interactive websites.

*Gedit is a free software, UTF-8 compatible text editor for the GNOME desktop environment. It is designed to have a clean, simple interface inspired by the ideals of the GNOME project. Gedit includes syntax highlighting and tabs for editing multiple files. It can edit remote files thanks to the GNOME VFS libraries. It supports a full undo and redo system as well as search and replace. Some advanced features of gedit include multilanguage spellchecking and a flexible plugin system allowing to dynamically add new features, for example snippets and integration with external applications. Minor features of gedit include line numbering, bracket matching, text wrapping, current line highlighting and automatic file backup.

*Elvis is a powerful vi/ex clone, i.e. it resembles the Unix text editor "vi" very much but adds quite a few commands and features. Elvis is written by Steve Kirkendall and is distributed under the Clarified Artistic License which is used by Perl. Elvis is the version of vi that comes with Slackware and KateOS.

*Geany is a text editor using the GTK2 toolkit with basic features of an integrated development environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. It supports many filetypes and has some nice features.

*Kate is a text editor for KDE. The acronym "Kate" stands for "KDE advanced text editor". Kate has been part of the kdebase package since KDE release 2.2 (August 15, 2002). Because of the KParts technology which is part of KDE, it is possible to embed Kate as an editing component in any other KDE application. The integrated development environment KDevelop and the web development environment Quanta Plus are two of the major KDE applications that make use of Kate as an editing component.

Features of Kate include:
* Syntax highlighting engine, extensible via XML files
* Search and replace text using regular expressions
* Code folding capabilities for Java, C++, C, PHP, Python and others.
* Integrated shell
* Keep multiple documents open in one window
* Named session support (known as "projects" before KDE version 2.5)
* Plugins support
* Basic word completion
* Drag and drop text editing
* Interpuncts are used to denote space characters

*Leo (Literate Editor with Outlines) is a text editor that features outlines with clones as its central tool of organization and navigation. Leo is written in Python and uses the Tk GUI toolkit. It is fully scriptable using Python and can be extended with plugins. Leo supports formats used in literate programming, and uses some ideas of the concept. The main idea is the concurrent development of code and documentation by keeping the two close together, while maintaining independence from the code sequence by using named outline elements called chunks.

*SciTE or SCIntilla based Text Editor is a cross-platform text editor written by Neil Hodgson using the Scintilla editing component. It is licensed under a minimal version of the Historical Permission Notice and Disclaimer. The current version is 1.75, released on November 21, 2007. Lightweight and built for speed, it is designed mainly for source editing, and performs syntax highlighting and inline function reference for many different languages. There is a standalone .exe available also, ideal for USB flash drives including U3-compatible models. SciTE shares some features with other editors that are also based on the Scintilla editing component.

*Scribes is a text editor for GNOME that is simple, slim and sleek, yet powerful. Scribes focuses on streamlining your workflow. It does so by ensuring common and repetitive operations are intelligently automated. And also by eliminating factors that prevent you from focusing on your tasks. The result is a text editor that provides a fluid user experience. An editor that is easy and fun to use. And an editor that ensures the safety of your documents at all times.

*TinyMCE, also known as the Tiny Moxiecode Content Editor, is a platform-independent web-based JavaScript/HTML WYSIWYG editor control, released as open source software under the LGPL by Moxiecode Systems AB. It has the ability to convert HTML textarea fields or other HTML elements to editor instances. TinyMCE is designed to easily integrate with content management systems. TinyMCE integrates with many different open source systems, such as Mambo, Joomla!, Drupal and WordPress.


  1. What about Emacs? it does have GUI is more GNU than any other editor.. and any of the features you mention (and even more, except for KDE integration) can be found in add-ons made in Lisp.