An editor or text editor is an application which can save textual data entered by a user as a file in a computer's permanent storage. Some editors handle code such as HTML and CSS better than others; here are a few commonly valued features for consideration in case you're trying to choose your own editor (some can be combined while others are mutually exclusive). Note that this list assumes you are not considering editors which cannot edit plain text (don't).

  • "Design Mode" or "Design View" to visually edit a visual interface (visual editing)
  • lack of visual editing, above (text-only)
  • syntax highlighting for relevant languages
  • user's lack of need to memorize a key command for every action (mouse-oriented)
  • user's ability to keep hands in the standard position (keyboard-oriented)
  • files edited in the browser and saved to a server (cloud-based)
  • files edited in a single-purpose editor and saved locally (traditional)
  • user's ability to add functionality (reprogrammable)
  • integration with revision control
    • centralized revision control, such as CVS or SVN
    • distributed revision control, such as Git or Mercurial

Out of all these characteristics, only two are essential; get a syntax-highlighting, text-only editor that works on your platform. Features that are nice to have include revision control and reprogrammability. And the rest depend on personal preference: mouse- versus keyboard-orientation; centralized versus distributed revision control; cloud-based versus traditional. The following table shows the features of some common recommendations.

revision control reprogrammability mouse vs keyboard platform(s) comments
Komodo centralized: CVS, SVN, or Perforce Python, JavaScript, and keybindings mouse cross-platform free and paid versions; free version very vocal about paid version
gedit none plugins and a console mouse GNOME on Unix-like systems
TextWrangler none AppleScript and keybindings[1] mouse Mac OS X 10.5+
Notepad++ none macros and plugins mouse Windows
PSPad centralized: SVN via extension scripts: [1][2] see manual, section "Customize PSPad" mouse Windows
Emacs many options Emacs Lisp (elisp) and keybindings keyboard Unix-like (Cygwin can make it work on Windows)
traditional vi unknown vi macros and keybindings keyboard Unix-like (Cygwin can make it work on Windows) Many installations these days are actually a stripped-down version of Vim (see below)
Vim (Vi Improved) Many options via plugins Integrated scripting language (vimscript) keyboard cross-platform
Cloud9 depends on the hosting service unknown mouse cloud-based, cross-browser, runs in Node.JS on any operating system
Bespin a.k.a. Mozilla Skywriter depends on the hosting service unknown mouse cloud-based, cross-browser, unknown server configuration merged into Cloud9

See also: Comparison of text editors, particularly the Programming features.

Any text editor that supports a common encoding such as Unicode or ASCII should be able to write HTML and CSS documents, provided that it is allowed to save with the .html and .css file-extensions. The default text editor on Windows is Notepad; Mac appears to lack this feature and users of Macs will have to resort to other editors, such as TextWrangler. Other editors may have better support and more features than the default programs. They can be for free or for a price. They can be WYSIWYG, plain-text, or hybrid. WYSIWYG simply means that you can see something similar to how your page will look in a browser, and little or no skills are required to write pages.

Although incompliant with W3C standards, Microsoft Word serves as a WYSIWYG but is actually a generic word-processor and desktop-publisher (both fields originally being targeted to printers); it is sold with Microsoft Office. On the other hand, plain-text editors require knowledge of HTML or CSS and are widely recommended over WYSIWYGs for various reasons, not to mention generally free of charge. The canonical example is Notepad; another option is Aptana Studio (available as an Eclipse extension) which is designed for Web development, but can be extended to develop in other languages such as Java and ANSI C. Hybrids combine the features of both. Adobe Dreamweaver is an example of a hybrid, sold as part of the Adobe Creative Suite and capable (to an extent) of several Web languages including PHP and JavaScript; like Microsoft Word, it is warned against by the typical developer.


Community content is available under CC-BY-SA unless otherwise noted.