The Complete History of JavaScript Explained

From a 10-day prototype in 1995 to the most popular programming language in the world. Learn the full history of JavaScript, the browser wars, and how the web was transformed.

7 min read

JavaScript's history is a story of unlikely success. A language built in 10 days as a quick prototype, nearly destroyed by corporate warfare, rescued by standardization, and eventually propelled to become the most widely used programming language on Earth.

The Timeline at a Glance

JavaScript history 1995 to present

The timeline breaks into distinct eras, each defined by a battle or breakthrough.

1995-1997: Birth and the First Browser War

Netscape Navigator dominated the early web. In May 1995, Netscape hired Brendan Eich to create a scripting language for the browser. He delivered JavaScript in 10 days.

Netscape Navigator 2.0 shipped with JavaScript in September 1995. Microsoft responded in August 1996 by releasing Internet Explorer 3.0 with JScript -- a reverse-engineered copy of JavaScript with intentional differences.

The web was splitting in two. Websites had to write separate code for Netscape's JavaScript and Microsoft's JScript, or display "Best viewed in Netscape" badges. Developers hated it.

In 1997, Netscape submitted JavaScript to Ecma International, an independent standards body, to prevent Microsoft from controlling the language's direction. The first standard, ECMAScript 1 (ES1), was published in June 1997.

1998-2004: The Quiet Years

Internet Explorer won the browser war. By 2002, IE had over 95% market share. Microsoft stopped innovating on JScript, and with no competition, the web stagnated.

ECMAScript 3 was released in December 1999 and became the definitive version of JavaScript for the next decade. It added regular expressions, try/catch error handling, better string handling, and the switch statement, features that are still core to JavaScript today.

ECMAScript 4 was attempted starting around 2000 but ultimately failed. The proposed changes were too radical for browser vendors to agree on, and after years of stalled progress, TC39 formally abandoned the effort in 2008. JavaScript development essentially froze for most of that decade.

2004-2008: AJAX and Web 2.0

In 2004, Google launched Gmail. In 2005, Google Maps. Both used a technique called AJAX (Asynchronous JavaScript and XML), which let pages load new data without a full refresh. Suddenly, web pages could behave like desktop applications.

Jesse James Garrett coined the term "AJAX" in a 2005 essay, and "Web 2.0" became the buzzword for the new interactive web. JavaScript went from a toy language for form validation to the engine of rich web applications.

This era also saw the rise of JavaScript libraries. jQuery, released in 2006, smoothed over browser inconsistencies and made DOM manipulation simple. By 2008, jQuery was used on over 30% of websites and had made JavaScript accessible to a generation of developers.

2009-2014: The Renaissance

Two events in 2009 transformed JavaScript:

ES5 (ECMAScript 5) was released in December 2009 after years of stalled standardization. It added strict mode, native JSON parsing, an array type check, and functional array methods for mapping, filtering, and reducing data. These features made JavaScript feel like a real programming language.

Node.js was created by Ryan Dahl in 2009. It took Chrome's V8 JavaScript engine and made it run on servers. For the first time, developers could write their entire application -- frontend and backend -- in one language. npm, the Node package manager, launched in 2010 and became the largest package registry in the world.

Mozilla's Firefox, Apple's Safari, and Google's Chrome steadily ate into Internet Explorer's market share. In 2008, Google launched Chrome with the V8 engine, which was dramatically faster than IE's JScript engine. The browser wars restarted, but this time they were fought on JavaScript performance, not proprietary incompatibilities.

2015: The Year JavaScript Modernized

ES6 (ECMAScript 2015) was the largest update to JavaScript in its 20-year history. It added:

  • let and const for block-scoped variables
  • Arrow functions (=>)
  • Classes
  • Template literals
  • Destructuring
  • Modules (import / export)
  • Promises
  • Default parameters
  • The spread operator (...)

Before ES6, JavaScript looked and felt like a language from the 1990s. After ES6, it felt modern. The yearly release cycle that started with ES6 meant JavaScript would never again go a decade without updates.

2016-Present: Yearly Evolution

Since ES6, ECMAScript has been updated every year:

YearKey Additions
ES2016Array.includes(), the exponentiation operator
ES2017async/await, Object.values(), Object.entries()
ES2018Rest/spread for objects, Promise.finally(), async iteration
ES2019Array.flat(), Object.fromEntries(), optional catch binding
ES2020Optional chaining, nullish coalescing, BigInt, Promise.allSettled()
ES2021String.replaceAll(), Promise.any(), logical assignment operators
ES2022Top-level await, class fields, private methods, Array.at()
ES2023Array.findLast(), Array.toSorted(), Hashbang grammar
ES2024Promise.withResolvers(), Object.groupBy(), well-formed Unicode strings
ES2025Iterator helper methods (map, filter, take, drop), Set methods for union, intersection, and difference

The yearly cadence means JavaScript now evolves steadily rather than in disruptive leaps. New features go through a four-stage proposal process in TC39, the ECMAScript committee, before becoming part of the standard.

Today: The Universal Language

JavaScript now runs:

  • In every web browser, on over 98% of websites
  • On servers through Node.js, Deno, and Bun
  • In mobile apps through React Native and Ionic
  • On desktops through Electron
  • In embedded devices and IoT

What began as a 10-day prototype at Netscape is now the closest thing the software industry has to a universal programming language. For the story of the person behind that prototype, read about who invented JavaScript and the Brendan Eich story. To understand how the language standard itself evolved, see the history of ECMAScript and JavaScript standardization.

Rune AI

Rune AI

Key Insights

  • JavaScript was created at Netscape in 1995 and shipped after just 10 days of development.
  • The browser wars of the late 1990s nearly fragmented the web with incompatible JavaScript dialects.
  • ECMAScript standardization in 1997 saved JavaScript from fragmentation.
  • Node.js in 2009 took JavaScript from the browser to the server, doubling its reach.
  • ES6 in 2015 was the largest update in JavaScript's history and modernized the language.
  • JavaScript now runs on 98%+ of websites and powers full-stack applications worldwide.
RunePowered by Rune AI

Frequently Asked Questions

When was JavaScript first released?

JavaScript was first released in September 1995 as part of Netscape Navigator 2.0. The first version was written by Brendan Eich in just 10 days in May 1995.

What was the browser wars period?

The browser wars (1995-2001) were a period of intense competition between Netscape Navigator and Microsoft Internet Explorer. Both companies rapidly added features to their browsers, including different and sometimes incompatible versions of JavaScript/JScript.

When did JavaScript become the dominant web language?

JavaScript became dominant in the late 2000s and early 2010s. The release of ES5 in 2009, the rise of Node.js, the decline of Flash, and the mobile web revolution all contributed to JavaScript becoming the universal language of the web.

Conclusion

JavaScript's history is the history of the web itself. Born in a 10-day sprint, nearly killed by the browser wars, rescued by standardization, and propelled to global dominance by the mobile revolution and Node.js, JavaScript is now the most widely used programming language. Its story is still being written with yearly ECMAScript updates and an ecosystem that continues to expand.