Comparison as of September 6, 2016.
While building iDoRecall, we looked for a WYSIWYG editor to enable our users to create and paste rich text recalls. While Markdown is great, it can't carry on much of the formatting that our audience is likely to encounter in the wild, so we looked for a WYSIWYG editor with the following features:
- correct pasting of minimally rich text from a variety of online sources (Google Docs, StackOverflow)
- paste images from clipboard directly, the way Slack, Imgur, GitHub, Google Docs and StackOverflow work
- usable on modern browsers and mobile devices; IE < 9 support not important
- relatively lightweight
- preferrably open source licensed, preferrably MIT
- (relatively) actively maintained
We have evaluated every single editor listed here and here. Surprisingly, out of ~60 editors tested, only one (!) satisfies these requirements.
For an alternative comparison table (no longer maintained by us), check out SocialCompare.
- WINNER - Trumbowyg - 20KB + jQuery; can [paste images via a plugin] (Alex-D/Trumbowyg#135)
- Summernote (jQuery+Bootstrap) - about 618/860 open/closed GitHub issues. ~84kB minified.
- AlloyEditor - based on CKEditor, with a modern UI built with React. At 598Kb minified, 167kB gzipped, it's smaller than CKEditor out of the box. No mobile support.
- Hackpad - real-time collaborative editor, eagerly expected by the open source community, but apparently abandoned after Dropbox acquired the company
Images can be "pasted" in two ways:
- From other web pages. In that case, a link to the remote image will actually be pasted.
- From the system clipboard. This is equivalent to a drag&drop event, and the image needs to be effectively uploaded or converted to base64. This is not that easy to implement.
Rich formatting is often tricky to paste. Two samples were used:
- StackOverflow code
- A code block from @addyosmani's JavaScript Patterns online book
Results:
- Froala WYSIWYG (jQuery) - can paste images from the clipboard, but loses most of the rich formatting when pasting before version 2
-
woofmark - Promising Markdown/WYSIWYG/HTML editor. Can't paste images from the system clipboard.
-
Squire - used at Fastmail. Rich text formatting loss, demo can't paste images from the system clipboard (only if they're copied from other web pages).
-
the Guardian's Scribe - 3,000+ GitHub stars. Built because TinyMCE, CKEditor, Medium.js, Redactor, ZenPen, wysihtml5 (that is the entire list of solutions they've investigated) either didn't produce clean markup, or weren't extensible. Can't paste images.
Scribe exposes a simple, browser-agnostic, low-level framework to manage and extend interactions with contentEditable.
-
Etherpad - famous collaborative editor. Can't paste images of any kind in the demo.
-
Etherpad Lite - a rewrite of Etherpad with ~5000 stars on GitHub. Can paste images from other web pages (i.e. via the URL), but not from the system clipboard into the demo. There is a plugin for pasting and uploading images but it's unstable.
-
Dante (jQuery, Underscore) - image pasting is supposed to work, but doesn't
-
Wysihtml (vanilla) - actively-maintained fork of the Xing project; loses rich text formatting when pasting, can't paste images from the clipboard
-
MediumEditor (vanilla) - GitHub - can't paste images and loses formatting when pasting rich text
-
Quill - collaborative editor; can't paste images
-
Minislate (vanilla) - can't paste images
-
Medium.js (vanilla), can't paste images from the clipboard
-
Pen (vanilla) - can't paste images from the clipboard
-
textAngular (Angular), can't paste images since 2014, tightly coupled with AngularJS, which is a bad idea
-
Hallo.js - minimalistic jQueryUI plugin with floating toolbar; can't paste images
-
KindEditor - Korean project, can't paste images
-
wysiwyg.js (vanilla or jQuery, <12KB) - can't paste images
-
dijit.Editor - part of the Dojo toolkit; nothing about images mentioned on the page
-
Content Kit Editor - comes up with a new platform-agnostic serialization format, mobiledoc. Can't paste images.
-
Redactor (jQuery) - commercial license starts at $99; not on GitHub; can't paste images
- TinyMCE - 380kB minified. Can paste rich text, but not images directly.
- CKEditor (next generation of FCKeditor)
- Aloha Editor - can't paste images. GPLv2 or commercial starting at 200 EUR
- Mercury Editor (jQuery, CoffeeScript, Rails) - no updates since August 2014, can't paste images
- WebODF - Powerful WYSIWYG editor that can import ODF files. Can insert images via file upload, but can't paste images. AGPL license (free to use in open source projects), with commercial offering from KO GMBH.
- bootstrap-wysiwyg (jQuery) - 4K GitHub stars, built for MindMup, no demo
- WysiBB - returns BBCode. Mobile-friendly.
- goog.editor in the Google Closure Library
- WYMeditor (jQuery) - GitHub; markup, not WYSIWYG editor
- demarcate - convert Markdown to HTML. No update since Sep 2014. Can't paste images.
- jWYSIWYG (jQuery) - no issue tracking, upstream seems dead
- grande.js (vanilla) - no update since July 2014
- jHtmlArea (jQuery) - no updates since Apr 2014, can't paste images
- rataeditor (jQuery) - abandoned since Feb 2014
YUI Rich Text Editor - Editor (YUI) http://developer.yahoo.com/yui/editor/[DEPRECATED]- WYSIWYG (jQuery) - abandoned
- jQueryTE - 19KB. GitHub is apparently abandoned.
- Yellow text
- TinyEditor (jQuery) - dead since Oct 2013
- elRTE
- jQuery Notebook
- CLEditor; can't paste standalone images or from Word
- freshereditor
- NicEdit - can't paste images
- mooeditable - "on hiatus" since 2013
- OpenWebWare - no updates since 2007