A bookmarklet is a piece of JavaScript code stored within a bookmark, which is executed by following the bookmark. It is understood by the browser as a URI with the special protocol javascript:, which instructs the browser to execute the rest of the URI.

Bookmarklets are typically used for cross-browser compatibility - where very few browsers have compatible extension types (and even a very select few have no extension capability), most implement JavaScript to some degree of compatibility with the ECMAScript standard.

Generally speaking, bookmarklets come at the cost of integration from the user's standpoint, because bookmarklets are generally unable to:

  • Be run upon page load (Greasemonkey fits this niche, but a few browsers lack the ability to run it)
  • Modify the browser's interface (which browser extensions generally can do)

Some sites deal in distributing bookmarklets, including:

history | show excerpt | excerpt history