HTML widgets

There are typically 3 types of usage of an HTML widget in most programing languages or libraries.

To render documents written by software projects

An HTML widget can be used to display help and manual documents in an application. In this case, the development team authors HTML document. The feature limits (typically lack of css and javascript) can be workaround by only ship documents that the widget can handle. So tools with small footprint and loads fast are preferred. These tools does not need to handle HTTP protocol beyond being able to open HTML files or strings. This is the major use of HTML widget available today.

Although such usage faces the competition of Lightweight markup languages, HTML widgets have the special advantage that document author can re-use mature and familiar HTML authoring software to prepare documents, and lowered learning barrier of document authors.

To browse Internet or retrieve document from Internet

An HTML widget can also be used to offer user basic feature to surf the Internet, or as a web browser itself. In such case the tool must be able to handle HTTP protocol; their compatibility requirement and feature requirement must be high. There are two approaches in this direction: build an HTML rendering engine in tcl/tk, as explored by the project tkhtml3, and to embed a web rendering engine, as by TkGecko. Unfortunately both did not manage to reach a production release.

To support WYSIWYG editor

If even implemented, an HTML widget can also offer user editing of rich text content, like that was offered by CK Editor (an HTML editor written in javascript) or Kompozer (an HTML editor based on Mozilla). However none of the known HTML widgets have implementations on this direction.

The following table lists known HTML widgets, all mostly for the 1st type of usage mentioned above.

Libraries containing an HTML widget or standalone HTML widgets
Project NameLatest releaseHTMLcssimagetablejsslocDescription
tkhtml3Alpha till 2009HTMl 4YesYesYesYes53,656By Dan Kennedy, Tkhtml3 as a Tk widget supports HTML, CSS and javascript
tkhtml2 [L1 ]2002NoYesYesNo59,982By D. Richard Hipp, Tkhtml2 is faster and more lightweight than Tkhtml3
Iwidgets2010HTML 3.2YesThe library has scrolledhtml widget. Itself is part of incrtcl project.
TkWebView2009NoYesYesNo1344A script-level widget for displaying HTML, either in a standalone window or embedded in another widget. This product is based on html_display, which is a decade older.
HTML display04/1999HTML 2.0NoYesYesNo1067Supports all HTML/2.0 features, including forms. By 2000, one year after its original author stopped working on this product, others further developed on it but could not submit it to unmaintained upstream. Later Kevin Walzer released it under the new name "TkWebView". No public version repository or project celebration website is set up for this.
shtmlview03/2022HTML 3.2NoYesYesNo3017Snit widget and standalone viewer application based mainly on HTML display. Toolbar with basic browse facilities added and some support for tables, support for normal and base64-inline images (gif, png, jpeg, svg), can display as well Markdown files Github repository.
gnocl::webKit01/2012HTML 5YesYesYesYesWrapper for using the WebKit renderer inside gnocl-based gtk apps. (WebKit is a heavier, more full-featured and cutting edge engine, used in Chrome and Safari browsers.)
HelpViewer - based on Tkhtml3.02017 HTML4.1 CSS 2.1YesYesNoHelpViewer Application
A TclOO Tkhtml 3.0 megawidget - example of how to render html+css2017 HTML4.1 CSS 2.1YesYesNohtml3widget megawidget / package
Applications that contain their own HTML widgets
Project NameLatest releaseHTMLcssimagetablejsslocDescription
AlphaTcl WWW menu [L2 ]12/2008Effectively a text-only HTML widget which can be used for lynx-like web browsing (all implemented in Tcl). When run under Alphatk, the underlying widget is Tk's text.
Historical Software Projects no longer available on the Internet
Project NameLatest releaseHTMLcssimagetablejsslocDescription
TkGeckoconcept till 2000HTML 4A project to embed gecko engine as a widget
tkhtmllong time agowritten by D. Richard Hipp. The current tkhtml project is a new project under the same name.
chtml of Georage P.S.09/2004An HTML widget that parses and renders basic HTML
hush10/1998C++ API for Tcl/Tk. Offer many widgets including an HTML widget. Requires Tcl 7.34, Tk 3.6, and TkPixmap extension.
PTUI A Tkinter-based IDE for Python, not Tcl. It includes an HTML viewer based on text.