Lably
Skip to content

XUL

User interface markup language

  • 5 min read
  • 3 chapters

Related on Lably

Through Graphical user interface, Web page and Application software

XUL applications rely on the Mozilla codebase or a fork of it. The most prominent example is the Firefox web browser. However, Mozilla has significantly reduced the usage of XUL in Firefox after their rewrite of the browser engine in version 57. This resulted in the removal of the legacy add-on system, which relied on XUL and XPCOM, another cross-platform technology Mozilla decided to deprecate shortly before the release of Firefox 57. Firefox originally permitted add-ons to extensively alter its user interface, but this capability was removed in 2017 and replaced with the less-permissive WebExtensions API. Several forks of Firefox retain support for XUL and XPCOM-based add-ons. The Pale Moon browser, Basilisk browser, and numerous smaller projects collectively use and maintain the Unified XUL Platform (UXP) implementation.

History

XUL was devised at Netscape in 1997 as part of the development effort that eventually became the Mozilla codebase. XUL is similar to web technologies implemented by the Gecko rendering engine. When XUL was introduced, it added features beyond the then standard HTML 4. It was designed as an extension of HTML to be used with applications rather than documents.

XUL was used by various Mozilla projects, forks of Mozilla projects, and projects closely related to Mozilla. Some software projects such as Songbird, Komodo IDE, and Zotero started as desktop applications that utilized XULRunner to render and compose their UI. In the early 2000s, there was some interest in using XUL by other parties, including Amazon, but those have switched over to HTML5. Many of the features of modern web technologies such as HTML5, CSS3, ECMAScript 5+, WebGL, and WebAssembly that made rich and modern web applications possible, without the need of utilizing legacy NPAPI/PPAPI/ActiveX browser plug-in technologies like Adobe Flash, Silverlight, Java, or Shockwave, also made much of XUL redundant.

Mozilla released Firefox 57, also known as Firefox Quantum, in November 2017. As part of this, Firefox finished transitioning to a multiprocess architecture. Although XUL add-ons could work in this architecture, they often created significant performance issues. Because of this, Mozilla removed support for legacy add-ons, including the use of custom XUL code. Mozilla switched their browser extensions system to the cross-browser WebExtensions API, which is largely based on the Chrome extension API. In late 2017, Firefox still included 289 XUL bindings for native browser components. By the end of 2019, Mozilla had removed all XUL files from their mozilla-central repository.

When Mozilla removed support from Firefox, there were still several applications using XUL. Mozilla began gradually removing XUL support from their email client, Thunderbird. They released Thunderbird 78 without support for XUL-based extensions in 2020. The SeaMonkey internet suite chose to re-implement XUL for the Firefox Quantum codebase, and the suite's development has subsequently slowed. The Pale Moon developers forked Mozilla's entire Firefox 52 ESR codebase to create the Unified XUL Platform (UXP) for their Goanna rendering engine. UXP maintains the traditional XUL capabilities. As a result, Pale Moon and other UXP applications are more extensible compared to modern versions of Firefox and Thunderbird.

Sign in to keep reading

2 more chapters are free with a Lably account.

More in Computing and communication

Source and licence. Adapted from the Wikipedia article “XUL” (this version, 2026-08-25) by its contributors, shared under CC BY-SA 4.0. Lablypedia has left out its tables, references and most pictures, and linked it to other Lablypedia articles.