Silverlight China

A plain-English reference for the Silverlight era — and what to run instead

What Was NPAPI, and Why Did Every Browser Drop It?

What Was NPAPI, and Why Did Every Browser Drop It?

If you have ever wondered why the Silverlight plugin simply vanished as an option in Chrome and Firefox, the answer is three letters: NPAPI. Silverlight was not removed by name. The entire category of software it belonged to was retired.

What NPAPI actually was

NPAPI stands for Netscape Plugin Application Programming Interface. It dates back to the Netscape Navigator era of the 1990s, and it defined how a browser could hand a rectangle of the page over to a separate piece of native software — a plugin. Flash, Java applets, QuickTime, and Silverlight all used it. When a page contained Silverlight content, the browser loaded Microsoft's plugin through NPAPI and let it draw, run code, and talk to the operating system largely on its own terms.

That last part is the important one. An NPAPI plugin ran native code with broad access to the machine, mostly outside the browser's security sandbox. In the 1990s that was an acceptable trade. By the 2010s it was not.

Why browsers walked away from it

  • Security. Because plugins ran outside the sandbox, a vulnerability in a plugin was effectively a vulnerability in the whole machine. Google's announcement of NPAPI's removal described the aging architecture as a leading cause of security incidents, as well as hangs and crashes.
  • Stability. A misbehaving plugin could take the browser down with it — which is why so many people remember "the Silverlight plugin has crashed" messages.
  • A better alternative existed. By the mid-2010s, HTML5, JavaScript, and eventually WebAssembly could deliver rich applications inside the sandbox, with no separate install.

The timeline, briefly

Chrome moved first. Google announced the phase-out in 2013–2014, blocked NPAPI plugins by default in early 2015, and removed support entirely in September 2015, a sequence documented in the Chromium project's NPAPI deprecation guide. Mozilla followed: in October 2015 it announced that Firefox would end NPAPI plugin support, naming Silverlight and Java among the affected plugins, while temporarily carving out an exception for Flash before removing plugin support altogether in later releases.

Microsoft's own new browser made the same call from day one: Edge shipped without any NPAPI or ActiveX plugin support at all. Only Internet Explorer 11 kept loading Silverlight — which is why Silverlight's practical lifespan ended up tied to IE's.

Why this matters if you still have a Silverlight app

Understanding NPAPI clears up a common misconception: there is no setting, extension, or workaround that puts Silverlight back into a modern browser. The plugin interface it needs does not exist in Chrome, Edge, Firefox, or Safari anymore. That is a deeper problem than Silverlight's end of support on its own — even a fully patched Silverlight installation has no modern browser to run in, which is the situation described in more detail in why Silverlight won't run in modern browsers.

The replacement path is the sandbox-native stack: HTML5 for the page, and WebAssembly where you need compiled-code performance. That is the foundation Blazor builds on, and it is why modern .NET web apps need no plugin at all.

Sources