From TEIWiki

Jump to: navigation, search

Periodically the question of which editor to use for TEI tasks arises on the TEI mailing list. There is no single answer to this question, but this page attempts to help you frame the question correctly.

Before thinking about an editor, you should think about who is going to be using it, how often, for what and where.

Those from a technical background are already likely to have a preferred programmable editor. Those from a non-technical background are likely to be more interested in ease of use. Occasional or temporary users are going to what a program that works as similarly as possible to the other applications they use, whereas full-time permanent users are more likely to get a benefit from more powerful editor, even if it has a learning curve. Projects which use large XML files need to be aware that some editors struggle with large XML files. The sed editor (see below) is a special case, allowing for truly arbitrary sizes. Users who need to edit files directly on remote servers may need vt100-capable editors (emacs, vi, sed, etc).

If you are a teacher looking for an editor suitable for TEI instruction, have a look at the list of features that are seen as the minimal set needed for a "student version" of a commercial editor. This feature set is under discussion and you are welcome to take part in it.

The following table an be sorted by several keys. You can accomplish that by clicking on the symbol in the relevant table header cell. Javascript needs to be enabled for the dynamic sorting to work. You can sort by a secondary key with the Shift key pressed.

Table of Editors

Editors for TEI
Name Operating Systems or Environments FLOSS? Explicit support for XML Explicit support for TEI URL Projects Using Beginner-friendliness
(scale 1-10, 1=hard)
RTL support Notes
Ace Web-based Yes Yes, but primitive and buggy No [1] ANGLES 2
ANGLES Web-based Yes In-progress  ? [2] The white paper released as part of the NEH grant which funded ANGLES' development indicates that development has ceased. This editor is based on the Ace editor.
CodeMirror Web-based Yes Yes, but primitive and buggy No [3] XET 2 Cannot support namespaces without an architectural change due to the absence of lookahead for modes.
Emeditor Win No No No [4] TCP 9 PRO: large-file support, utf-8 support, diff.
Editix Win, Linux, MacOS No Yes No [5] A free Lite version exists.
EditPad Pro Win No No No [6] TCP 8 PRO: UTF-8 support, excellent character-encoding conversions, syntax coloring, regex search/replace, XML 'content folding', handles large files well. CON: no search-in-files, sort, uniq, or diff.
EditTEI all (Java) No No No [7] Claiming many features, accessible after registration.
Emacs Mac, Win, Linux, Solaris Yes Yes No [8] NZETC WWP 3 (See also TEIEmacs) Best mode for TEI XML is nXML, using RELAX NG compact schemas. For Mac look for Aquamacs package
epcEdit Win, Linux, Solaris No Yes No [9] TCP 7 Free; also supports SGML; feels a bit like XMetaL
Essential XML Editor (formerly Open XML Editor) Win Yes Yes No [10] 8 Text-based editing, DTD validation, various input encodings but output only in UTF-8, plugin of Saxon XSLT processor and hex editor possible; plugin of Jing, Libxml2 and MSV (W3C-schema, RelaxNG validation) possible only in purchased version
Exchanger XML Editorall (Java) No [11] Heavily obsolete (as of Feb'15), won't run on a new Java installation
FontoXML Web-based No Yes Yes [12] 9 2014 Web-based XML editor, including a TEI-edition. FontoXML integrates seamlessly into most web content management systems and workflow software.
Geany all Yes Yes No [13] Geany is a cross-platform IDE suitable for XML and HTML, C, Java, PHP, HTML, Python, Perl and Pascal.
jEdit all (Java) Yes Yes Yes [14] NZETC 7 XML use requires plugins, and only supports DTDs
Liquid XML Editor Win No Yes No [15] Features of the XML Editor include Validation, XML Syntax Highlighting and Multi-step undo/redo.
Notepad++ Win Yes Yes No [16] TCP 9 Freeware. XML support via XMLTools plugin. Basic editor made more versatile by plugin system (eg. Base64 encode-decode, hex editor, etc)
Office suite + OxGarage All  ? Yes Yes [17] 9 Users edit using standard office suite and documents converted to TEI via webservice
oXygen all (Java) No Yes Yes [18] WWP DHQ 8 in Editor, possibly in Author Can validate using DTD, W3C schema, RELAX NG, and Schematron; can run XSL transformations on file; WYSIWYG mode using CSS; support for TEI ODD files (editing and schema generation)
Sacodeyl Annotator all (Java) [19]
sed Mac, Win, Linux, Solaris Yes No No [20] -1 Handles with ease files a order of magnitude larger than the system RAM
Serna No Yes unknown [21] yes Part of Corena studio now.
Serna Free Yes Yes Yes [22] yes Wikipedia reports that the free version of Serna is no longer "distributed." This probably means that the parent company no longer expends any resources on it. The source code of the free version is still available under a GPL license, hosted on Sourceforge.
TextMate MacOS No No [23] An extension is needed for XML editing
TextPad Win No No No [24] TCP 9 PRO: simple interface, powerful regex/multi-file replace, search-in-files, primary and secondary sort, uniq, diff, hotlinked search results, syntax coloring. CON: no utf-8 support.
UltraEdit Win, Linux No Yes No [25] 9 customizable for TEI-support; can handle extremely large files; powerful regex/multi-file replace; macro recording
vi Mac, Win, Linux, Solaris Yes No No [26] 1 Ships on all POSIX systems (linux, solaris, BSD, etc) as standard, thus the lowest common denominator editor for server configuration
Wed Web-based Yes Yes Yes [27] BTW 7 Not as of version 0.20.0 Provides validation and guided editing. Understands RNG. Can be customized for specific projects. Can show XML structures in a way that mirrors the XML (labels showing location of open and close tags) or stylistically (e.g. headings in bold) in a single view.
XML Copy Editor Win, Ubuntu Yes Yes Yes [28] TCP 7 Free; validates to DTD, XSD, Relax.ng
XMLBlueprint Win [29]
XMLMax Win No Yes No [30] 8 Unlimited XML file size support with low memory requirement. XML parsing with error reporting and fixing. Collapsable treeview, DTD and XML schema validation. XPATH and XSLT.
XMLmind all (Java) No Yes No [31] no An evaluation version can be used for 30 days. The last free version is/was the 5.4.0 personal edition.
XPontus all (Java) Yes Yes No [32] XPontus XML Editor is a simple XML Editor oriented towards text editing. It can perform validation(DTD, XML Schema, Relax NG, Batch XML validation), XSL transformations(HTML, XML, PDF, SVG), schema/DTD generation, XML/DTD/HTML/XSL code completion, code formatting and much more. Plugin based.
XMLSpy all (Java) No Yes No [33] yes Fully functional free 30-day trial versions are offered.
XMLwriter Win [34]


Tension between emacs and vi users is longstanding and well summarised on the Editor war Wikipedia page. vi was included in the POSIX standard, whereas emacs was not, perhaps because vi was historically available in multiple implementations from multiple vendors. The following cartoon illustrates the commonly-held assumptions that emacs and vi are very powerful but obscure while their competitors make users do all the work.

Copyright (c) 2007 Laurent Gregoire http://tnerual.eriogerg.free.fr/0xBABAF000L/10_en.html

Personal tools