# Bookmark (digital)

In the context of the World Wide Web, a bookmark is a Uniform Resource Identifier (URI) that is stored for later retrieval in any of various storage formats. All modern web browsers include bookmark features. Bookmarks are called favorites or Internet shortcuts in Internet Explorer and Microsoft Edge, and by virtue of that browser's large market share, these terms have been synonymous with bookmark since the First Browser War. Bookmarks are normally accessed through a menu in the user's web browser, and folders are commonly used for organization. In addition to bookmarking methods within most browsers, many external applications offer bookmarks management.
Bookmarks have been incorporated in browsers since the ViolaWWW browser in 1992, and Mosaic browser in 1993. Bookmark lists were called Hotlists in Mosaic and in previous versions of Opera; this term has faded from common use. Cello, another early browser, also had bookmarking features.
With the advent of social bookmarking, shared bookmarks have become a means for users sharing similar interests to pool web resources, or to store their bookmarks in such a way that they are not tied to one specific computer or browser. Web-based bookmarking services let users save bookmarks on a remote web server, accessible from anywhere.
Newer browsers have expanded the "bookmark" feature to include variations on the concept of saving links. Mozilla Firefox introduced live bookmarks in 2004, which resemble standard bookmarks but contain a list of links to recent articles supplied by a news site or weblog, which is regularly updated via RSS feeds; however, Mozilla removed this feature in 2018. "Bookmarklets" are JavaScript programs stored as bookmarks that can be clicked to perform a function.

## Storage

Each browser has a built-in tool for managing the list of bookmarks. The list storage method varies, depending on the browser, its version, and the operating system on which it runs.
Netscape browsers store bookmarks in the single HTML-coded file bookmarks.html. This approach permits publication and printing of a categorized and indented catalog, and works across platforms. Bookmark names need not be unique. Editing this file outside its native browser requires editing HTML.
For data portability and interoperability, most modern Web browsers support importing from and exporting to the Netscape bookmarks.html format.
Beginning with Firefox 3, Mozilla Corporation began using SQLite in browser releases to store bookmarks, history, cookies, and preferences in a transactionally secure database.
Internet Explorer's "Favorites" (also "Internet Shortcuts") are stored as individual files named with the original link name, and the filename extension ".URL", for example "Home Page.URL" collected in a directory named "Favorites" which may have subdirectories. Bookmark names must be unique within a folder. Each file contains the original URL and Microsoft-specific metadata. Browsers have varying abilities to import and export bookmarks to favorites, and vice versa.

## Bookmarklets

Bookmarklets are JavaScript programs stored as bookmarks. The term is a portmanteau of the words bookmark and applet. Bookmarklets are possible because the JavaScript URI scheme allows JavaScript programs to be stored as URIs, which can be stored in bookmarks. Bookmarklets have access to the current page, which they may inspect and change. As such, they can be simple "one-click" tools which add functionality to the browser. Bookmarklets are typically installed by navigating to a web page that links to a JavaScript URI, right-clicking the link, and clicking the bookmark option.
Web developer Steve Kangas got the idea from the Netscape JavaScript Guide, and coined the term bookmarklets in 1998. Brendan Eich, the inventor of JavaScript, explained bookmarklets as follows:
   They were a deliberate feature in this sense: I invented the javascript: URL along with JavaScript in 1995, and intended that javascript: URLs could be used as any other kind of URL, including being bookmark-able.
   In particular, I made it possible to generate a new document by loading, e.g. javascript:'hello, world', but also (key for bookmarklets) to run arbitrary script against the DOM of the current document, e.g. javascript:alert(document.links[0].href). The difference is that the latter kind of URL uses an expression that evaluates to the undefined type in JS. I added the void operator to JS before Netscape 2 shipped to make it easy to discard any non-undefined value in a javascript: URL.

## Live bookmarks

Live bookmarks are Internet bookmarks powered by RSS, particularly in Mozilla Firefox. They allow users to dynamically monitor changes to their favorite news sources. Instead of treating RSS-feeds as HTML pages like most news aggregators do, they are treated as bookmarks that are updated in real-time with a link to the appropriate source. Live bookmarks are updated automatically; however, no browser option exists to prevent or control the automatic live bookmark updates.
Live bookmarks were available in Firefox from 2004 until December 2018; since then, Firefox no longer supports them.