If you used Firefox in the mid-2000s, ContextSearch was probably already in your toolbar — or it should have been. Before browser search bars became sophisticated and before right-click menus grew smarter, ContextSearch solved a very specific frustration: you’d highlight a word or phrase on a webpage and want to search for it, but doing so meant copying it, clicking the address bar, pasting, and hitting enter. ContextSearch collapsed that workflow into a single right-click.
This extension, originally developed by Palancar (palancar.net) and maintained throughout the Firefox 1.x and 2.x era, became one of the most-linked Firefox extensions of its time — appearing in Firefox roundups on CNET, Slashdot, and Mozilla’s own add-on showcases. It set a template that browsers eventually copied wholesale.
What ContextSearch Was
ContextSearch added a submenu to Firefox’s right-click context menu. When you selected text on any webpage and right-clicked, the extension injected a “Search for [selected text]” option that expanded into a list of your configured search engines. Choose one and it opened the search in a new tab (or the same tab, depending on your preferences).
The brilliance of this was that it integrated with Firefox’s existing search engine list — the same engines you’d configured in the search bar. It didn’t require you to maintain a second list. Whatever you had set up (Google, Yahoo, Ask Jeeves, IMDB, Amazon) would appear in the context menu automatically.
For power users working across reference-heavy content — researchers, journalists, students, anyone reading technical documentation — this was transformative. Highlighting a term and immediately cross-referencing it without disrupting the reading flow was a real productivity gain, not just a convenience.
The extension was active from approximately 2004 through the early 2010s. It was listed on addons.mozilla.org and linked extensively by Firefox user communities. Mozilla’s own documentation at developer.mozilla.org was among the pages that received inbound links pointing to the ContextSearch page on palancar.net.
How It Worked Technically
ContextSearch relied on Firefox’s nsIContextMenuListener interface and the XUL overlay system — the extension model that Firefox used before WebExtensions. XUL (XML User Interface Language) allowed extensions to overlay interface elements directly onto browser UI components, including the context menu.
The extension’s core mechanism:
- It listened for the
contextmenuevent and checked whether any text was currently selected usingdocument.getSelection(). - If a selection existed, it built a submenu dynamically from the browser’s stored search engine list, accessed via the
nsIBrowserSearchServiceXPCOM component. - Each submenu item, when clicked, called the search engine’s query template with the selected text substituted in, then opened the result via
gBrowser.loadOneTab().
The permissions model in the XUL era was dramatically different from modern WebExtensions. XUL overlays ran with essentially full browser privileges — there was no sandboxing, no permission manifest, no content security policy. This was both powerful and, in retrospect, a serious security surface. Extensions like ContextSearch were trusted because they came from known developers, not because any technical mechanism enforced that trust.
This architecture is documented in the archived Mozilla Developer Network articles available on web.archive.org.
Why It Was Discontinued
ContextSearch didn’t exactly die — it was absorbed. Firefox began building native context-menu search functionality incrementally, starting around Firefox 3.x and maturing by Firefox 57 (the “Quantum” release in 2017).
Several factors converged to end the need for ContextSearch as a separate extension:
Firefox’s own feature absorption. By Firefox 57, right-clicking selected text showed a native “Search [engine] for [text]” option. This was precisely what ContextSearch had been doing for a decade. There was no reason to maintain a separate extension.
The XUL deprecation. Firefox 57 also killed XUL/XPCOM extension support entirely, requiring all extensions to migrate to the WebExtensions API. This was a hard cutoff — extensions that didn’t migrate stopped working. Many older extensions, including the original ContextSearch, were not updated for this transition.
Developer lifecycle. Palancar’s extensions were personal projects maintained by an individual developer. As Firefox natively addressed the use case, the motivation to port the extension to a new API was low. The original ContextSearch page on palancar.net remained as documentation of what the extension had been rather than a download hub for an active project.
The Mozilla Add-ons blog covered the WebExtensions transition extensively, and many legacy XUL extensions from this era appear in web.archive.org snapshots showing their last-compatible Firefox versions.
What Replaced It
The good news: you almost certainly don’t need an extension for this anymore.
Firefox’s built-in search. In any current Firefox version (Firefox 120+), selecting text and right-clicking shows a “Search for [text]” option that uses your default search engine. For multi-engine support, Firefox’s search bar accepts keyboard shortcuts to search with any configured engine. This covers the primary use case ContextSearch addressed.
Modern WebExtension equivalents. If you want the full submenu experience — selecting text and choosing from multiple search engines in the right-click menu — several extensions replicate this:
- Context Search on addons.mozilla.org provides a multi-engine context menu using the modern WebExtensions API
- Searcher extends this with custom engine management
Chrome equivalents. Chrome’s native right-click search behavior mirrors Firefox’s. Extensions like Search by Image extend this to visual search.
If You’re Building Something Similar Today
The modern WebExtensions equivalent of ContextSearch uses the contextMenus API (or menus in Firefox’s terminology).
The key pieces:
browser.contextMenus.create({
id: "search-selection",
title: "Search for '%s'",
contexts: ["selection"]
});
browser.contextMenus.onClicked.addListener((info) => {
const query = encodeURIComponent(info.selectionText);
browser.tabs.create({ url: `https://www.google.com/search?q=${query}` });
});
The %s token in the title is automatically replaced with the selected text — a convenience Firefox provides natively for context menu items in the selection context.
For multi-engine support, you’d create a parent item and dynamically create child items for each configured engine using browser.search.get() (available since Firefox 63) to read the user’s installed search engines. The full API reference is at developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/search.
The permission requirements are minimal — contextMenus and tabs cover the core functionality, with search needed if you want to integrate with the user’s existing engine list.
Legacy and Influence
ContextSearch’s influence is easy to undervalue in hindsight, precisely because it succeeded: the feature it pioneered is now so standard that every browser ships it natively. That’s a different kind of success than an extension that persisted indefinitely. ContextSearch made itself obsolete by being obviously correct.
The pattern it established — highlight, right-click, search, without leaving the page — is now a default behavior users take for granted. In the early Firefox era, that wasn’t obvious, and ContextSearch helped demonstrate that it should be.
For a view of what the original extension page looked like during its active period, the Wayback Machine archive of palancar.net captures several snapshots from 2005 through 2012.