By Opera Software

From Opera 15 onward, Opera 11 & 12’s extension format is no longer supported, and instead, we’ve switched to Chromium’s extension model. Check out our new documentation for developing extensions for Opera 15 and higher and start building your own extensions.


The icon attribute is a relative URL pointing to an internal image, or an absolute URL pointing to an external image. The allowed image formats are bmp, gif (not animated), ico, jpg, png and webp. For best results, the icon should be square and small — 16 pixels x 16 pixels is ideal.


DOMString contexts


The following example creates an item with an icon in the context menu to open links in private tabs. In other words, the item will appear only when a link is right-/Ctrl-clicked.

  The configuration file ('config.xml').
<?xml version='1.0' encoding='utf-8'?>
<widget xmlns="">
    <feature name="opera:contextmenus"/>
// The background process (e.g. index.html)

if ( {
  var menu =;
  // Create a menu item properties object
  var itemProps = {
    title: 'Open link in private tab',
    contexts: ['link'],
    icon: 'images/private.png',
    onclick: function(event) {
      // Create a tab properties object
      var tabProps = {
        url: event.linkURL,
        private: true

      // Create a tab with the specified properties
      var tab = opera.extension.tabs.create(tabProps);

  // Create a menu item with the specified properties
  var item = menu.createItem(itemProps);
  // Add the menu item to the context menu

This article is licensed under a Creative Commons Attribution 3.0 Unported license.


  • photo


    Wednesday, October 31, 2012

    Should we integrate a 32x32px-icon named <whatevername>@2x for high resolution displays?!
  • photo


    Friday, November 30, 2012

    Can we add something like
  • photo


    Saturday, January 12, 2013

    You need to make it more obvious what the icon size is supposed to be.

    You have dev articles that explain the other two icons but I had to dig to find the context menu icon size.
    SVG support would be interesting to see.
No new comments accepted.