Internet Explorer Browser Extensions

Note  Developers are encouraged to use Microsoft Edge, the new default browser built for Windows 10. For more information on Microsoft Edge Extensions, check out the Microsoft Edge Extensions documentation on the Microsoft Edge Dev Center.

Browser extensions, introduced in Microsoft Internet Explorer 5, allow developers to add functionality to the browser and enhance the user interface in a way that is not directly related to the viewable content of Web pages. This class of extensibility includes add-on functionality that users might install to enhance their browsing experience.



Notifies third-party extensions when browsing history is deleted by the user.


Gets information about a band object.


Provides access to the method of a custom download manager object that Internet Explorer and WebBrowser applications use to download a file.


Exposes methods that are called by IImageDecodeFilter during a decode operation.


Exposes the method to support alpha channel transparency of Portable Network Graphics (PNG).


Exposes methods used to implement a custom image source handler in Internet Explorer. This handler is invoked when rendering images for the IMG element's SRC attribute.


Provides methods that implement mappings.



About Browser Extensions

Browser extensions allow developers to provide easy access to their browser enhancements by adding elements (like an Explorer Bar) to the default user interface. Introduced in Microsoft Internet Explorer 4.0, this feature enables developers to create Explorer Bars and add entries into the standard context menus. Beginning with Internet Explorer 5, this feature allows developers to add entries into the Tools menu and buttons to the toolbar.

About the Browser

This section explains the architecture of Internet Explorer 4.0 and later and provides information you will find helpful when reusing these components.

Adding Explorer Bars

This tutorial explains how to add an Explorer Bar in Internet Explorer.

Adding Menu Items

This tutorial explains how to add a menu item that runs a Windows application or that runs a script to the Tools menu or Help menu in Internet Explorer.

Adding Toolbar Buttons

This tutorial explains how to add a toolbar button to the Internet Explorer user interface.

Content Extensions

This category of extension is invoked specifically by Internet Explorer content. It includes Microsoft ActiveX controls, binary behaviors, and Active documents.

Customizing the Browser Toolbar

This tutorial explains how to customize the appearance of the toolbar area in Internet Explorer.

Explorer Bar Style Guide

This guide will help you design Explorer Bars to add to the Internet Explorer user interface.

Implementing a Custom Download Manager

The ability to implement a custom download manager was introduced in Microsoft Internet Explorer 5.5. This feature enables you to extend the functionality of Internet Explorer and WebBrowser applications by implementing a Component Object Model (COM) object to handle the file download process.

Toolbar Button Style Guide

This guide will help you design icons for toolbar buttons that you add to the Internet Explorer user interface.

Web Accessories

Web Accessories are browser enhancements that any developer can create using browser extensions. Users can then add these Web Accessories to their copy of Internet Explorer. By creating Web Accessories, developers have a very powerful way to enable new features and functionality.

Writing Stable Browser Extensions

The stability of Internet Explorer is adversely affected by poorly implemented extensions such as BHOs, toolbars, or ActiveX controls. This article summarizes important guidelines developers should follow when creating COM extensions to customize the browser and provides tips and best practices for well-behaved browser extensions that do not cause Internet Explorer to crash or become unresponsive ("hang").




Indicates what type of browsing history to delete.


Called by Internet Explorer and WebBrowser applications to download a file.


Sets whether to enable default mappings.


Gets the information for a band object.


Returns a drawing surface of the requested size and format.


Called when the filter is activated by Internet Explorer.


Called by the filter to determine whether to remove the opacity of a layer by premultiplying it against the palette colors.




Called by the filter to determine which image formats are supported.


Called by the filter after image bits have been downloaded.


Called by the filter after image has been decoded.


Called by the filter when the palette associated with surface changes.


Called by filter as incremental progress is made during decode.


Called when a source file is ready to be processed.


Sets the mapping mode.


Called when the filter is deactivated.




Contains and receives information for a band object. This structure is used with the IDeskBand::GetBandInfo method.