Software and platforms
jQuery
Summary
jQuery is a free, open-source JavaScript library that makes it shorter and simpler to find parts of a web page, change them, respond to clicks and load data in the background, with the same code working across browsers. John Resig announced it on January 14, 2006, and version 1.0 followed on August 26, 2006. It is now a project of the OpenJS Foundation, and version 4.0.0 arrived on January 17, 2026. As of October 22, 2026, W3Techs finds jQuery on 64.5% of the websites in its survey.
What jQuery is
jQuery is a free, open-source JavaScript library: a file of prewritten code that a web page loads and then calls. Its project site describes it as “a fast, small, and feature-rich JavaScript library” that makes finding and changing parts of a page, handling events, animation and Ajax simpler, with code that works across many browsers.1
Its center is one function, jQuery(), usually written in its short form, $(). Give it a CSS selector, the same kind of pattern a style sheet uses to pick out elements, and it returns a jQuery object that refers to every matching element on the page.2 A selector such as “p” matches every paragraph, and “.menu” matches every element with the class menu. If nothing matches, the object is simply empty.2
Methods called on that object act on all of its elements at once, and the jQuery Learning Center explains that these methods receive the selection and return it again.3 That is why several steps can be written one after another in a single line, a style called chaining.
The $ name is only a shortcut for jQuery. Other libraries, such as Prototype, also used $, so jQuery provides a noConflict() method that hands the $ name back and lets a site use another name instead.4
A typical jQuery script starts inside a ready handler. Code there runs as soon as the page’s Document Object Model (DOM), the browser’s internal model of the page, is ready, without waiting for images and frames to finish loading.5
jQuery is released under the MIT license, which allows any use, including commercial use, as long as the copyright notice stays in place.6 The copyright is held by the OpenJS Foundation and jQuery contributors.1
As of October 22, 2026, W3Techs finds jQuery on 64.5% of all websites, and on 85.5% of the sites whose JavaScript library it can identify. Its list of well-known sites using jQuery includes Microsoft.com, a subdomain of Yahoo.com and inner pages of WordPress.org.7
Origins: John Resig and BarCamp NYC
jQuery was written by John Resig. On August 22, 2005, he published a blog post called “Selectors in Javascript.” It proposed a shorter way to attach JavaScript functions to HTML elements by picking them out with CSS-style selectors, as an improvement on an existing library called Behaviour, which he found wordy and limited.8 The project’s own history page lists that post as its earliest entry.9
Resig announced jQuery on January 14, 2006, at BarCamp NYC, a gathering in New York City.1011 In a wrap-up post two days later, he described the release as “jQuery: New Wave Javascript.”12 The jQuery team later wrote that about a dozen JavaScript libraries already existed at the time, all working on similar problems.10
Sources frame the start date differently. The 2012 announcement of the jQuery Foundation says Resig created jQuery in 2005.13 The project’s blog, marking its tenth anniversary, treats the January 2006 announcement as jQuery’s birth.10
A jQuery 1.0 alpha appeared on June 30, 2006.9 Resig announced the finished jQuery 1.0 on August 26, 2006, almost a year after he first described the idea on his blog, with many bug fixes, new features and a reorganized development process.14
Resig’s own site describes him today as Chief Software Architect at Khan Academy.15
Why jQuery spread
jQuery arrived during the second round of the browser wars, when browsers still offered scripts different tools. GitHub’s engineers later recalled that when their site added jQuery 1.2.1 in late 2007, browsers had no standard way to select elements with a CSS selector, and the tools for Ajax varied from one browser to the next.16 Ajax means loading data from the server in the background and updating part of a page without reloading all of it.
jQuery hid many of those differences behind one set of methods. Its jQuery.ajax() method, for example, sends an asynchronous HTTP request in one call.17 Version 1.5, released on January 31, 2011, rewrote that method and added Deferred objects.9 Since 1.5, the object it returns is a superset of the browser’s own XMLHttpRequest object and works like a promise, a placeholder for a result that arrives later.17
A large set of add-ons grew around the core library:
- Plugins. A new repository for plugins, add-ons written by other developers, opened on June 18, 2007.9
- jQuery UI. Announced on July 1, 2007, and first released on September 17, 2007, it added interface widgets and interactions.9
- jQuery Mobile. An alpha was released on October 16, 2010, and version 1.0 on November 16, 2011.9
Large projects and companies adopted it. WordPress 2.2, released on May 15, 2007, switched its own core JavaScript to jQuery, its release notes say.18 On September 28, 2008, Resig announced that Microsoft would distribute jQuery with its Visual Studio programming tools, and that Nokia would use it in its Web Run-Time, so jQuery would be distributed on Nokia phones that include that software. Neither company planned to change jQuery’s code or license.19
jQuery 1.3, released on jQuery’s third birthday, January 14, 2009, introduced Sizzle, a new CSS selector engine. Sizzle was spun out as its own project and given to the Dojo Foundation so that other JavaScript libraries could work on it too.20 By its tenth anniversary in 2016, the jQuery team called it “the most widely used JavaScript library ever written.”10
Versions
jQuery’s major versions mostly track which browsers it supports. Each drop of old browsers let the team remove code that existed only to work around them.
| Version | Released | What changed |
|---|---|---|
| 1.0 | August 26, 2006 | First stable release14 |
| 1.3 | January 14, 2009 | Sizzle selector engine and live events20 |
| 1.5 | January 31, 2011 | Rewritten Ajax code and Deferred objects9 |
| 1.9 | January 15, 2013 | Released together with the final (non-beta) jQuery Migrate plugin9 |
| 2.0 | April 18, 2013 | Drops Internet Explorer 6, 7 and 821 |
| 3.0 | June 9, 2016 | Promise-compatible Deferreds and a new slim build22 |
| 3.7.1 | August 28, 2023 | Latest 3.x release2324 |
| 4.0.0 | January 17, 2026 | First major version in almost 10 years11 |
jQuery 2.0 left behind Internet Explorer 6, 7 and 8, and its file was 12% smaller than 1.9.1. The team kept the 1.x line going for sites that still needed those browsers.21 jQuery Migrate, a plugin offered on the download page, helps sites move between versions.25 Loaded after jQuery, it prints a warning in the browser console for each piece of old code it finds, so a developer can fix them one at a time.26
jQuery 3.0 continued the 2.x line with a few breaking changes. Its Deferred objects were brought into line with the Promises/A+ standard, animations began using the browser’s requestAnimationFrame where available, and a new slim build left out the Ajax, effects and deprecated modules. The 1.12 and 2.2 branches then received only critical patches.22
In jQuery 3.7.0, released on May 11, 2023, Sizzle’s code was moved directly into jQuery itself instead of being kept as a separate project.27
jQuery 4.0.0 was announced by Timmy Willison of the jQuery team on January 17, 2026, 20 years after the BarCamp announcement.11 Among the main changes:
- Browsers. It drops Internet Explorer 10 and older, Edge Legacy, the Android Browser and older versions of iOS and Firefox. Internet Explorer 11 is still supported, with its removal planned for jQuery 5.0.11
- Removed helpers. Functions such as jQuery.trim, jQuery.isArray and jQuery.parseJSON, which read JSON data, are gone. The team recommends built-in replacements such as Array.isArray() and JSON.parse() instead.11
- Modern code. The source moved to standard JavaScript modules, and the library added support for Trusted Types, a browser security feature that limits what HTML scripts may insert into a page.11
- Size. The slim build is now about 19.5 KB when compressed with gzip, about 8 KB smaller than the full build.11
As of October 22, 2026, the download page offers 4.0.0 as the current version.25 The project site says jQuery 3.x now receives only critical updates and that only the latest version is supported. It points to two companies, HeroDevs and TuxCare, for support of earlier versions.1
Security fixes
The jQuery team writes that flaws found in jQuery can range from cross-site scripting to remote code execution, and that upgrading is how a site gets the patches.26 Cross-site scripting (XSS) means an attacker gets their own script to run on someone else’s page. Three documented flaws show the pattern.
- CVE-2020-11022. In versions from 1.2 up to, but not including, 3.5.0, untrusted HTML passed to methods such as .html() and .append() could run code even after it had been cleaned. jQuery rated it moderate and fixed it in 3.5.0.28 The National Vulnerability Database (NVD), run by the US National Institute of Standards and Technology, scores it 6.1, medium, on CVSS 3.1, a 0 to 10 severity scale. Its written description gives 1.12.0 as the first affected version, while its version data and jQuery’s advisory give 1.2.29 The 3.5.0 release post, dated April 10, 2020, explains that a pattern-matching step in jQuery.htmlPrefilter could open a cross-site scripting hole, and that the method now passes HTML through unchanged.30
- CVE-2020-11023. A companion flaw, also fixed in 3.5.0, affects versions from 1.0.3: HTML containing <option> elements could run code in the same way, even after sanitizing. NVD scores it 6.1, medium. On January 23, 2025, the US Cybersecurity and Infrastructure Security Agency (CISA) added it to its Known Exploited Vulnerabilities catalog, its list of flaws attackers are known to use.31
- CVE-2019-11358. jQuery before 3.4.0, as used in Drupal, Backdrop CMS and other products, mishandled jQuery.extend: an unsanitized object with a __proto__ property could add properties to Object.prototype, which every object in a script inherits. The flaw is called prototype pollution. NVD scores it 6.1, medium.32
The foundation and related projects
jQuery has moved through several nonprofit homes:
- 2009. jQuery joined the Software Freedom Conservancy on September 11, 2009.9
- 2012. The jQuery Foundation was announced on March 6, 2012, as a Delaware nonprofit trade association seeking 501(c)(6) status from the IRS. Dave Methvin, who had recently taken over leadership of the core team, became its president.13
- 2015. On September 1, 2015, the jQuery Foundation and the Dojo Foundation announced plans to merge.9
- 2016. jQuery’s history page lists the JS Foundation, including the jQuery projects, as announced on October 17, 2016.9
- 2019. On March 12, 2019, the JS Foundation and the Node.js Foundation announced their merger into the OpenJS Foundation, with jQuery among its projects alongside Node.js and webpack. The announcement itself gives two counts for the new foundation, 31 projects in one place and 29 in another.33
On October 7, 2021, the maintainers put jQuery UI into maintenance-only mode, after releasing version 1.13, its first release in five years.34 The same day they deprecated jQuery Mobile, whose latest stable version dated from October 2014, saying mobile development had changed a great deal since the project began in 2010.35 The project site still describes jQuery UI as maintenance-only and jQuery Mobile as deprecated.1
jQuery and the modern web
Much of what jQuery added is now built into browsers. The W3C‘s Selectors API, a Recommendation from February 21, 2013, defined querySelector() and querySelectorAll(), which find elements with CSS selectors. That document is now marked superseded and points new implementations to the WHATWG‘s DOM Living Standard.36 For background requests, MDN describes the Fetch API as “a more powerful and flexible replacement for XMLHttpRequest.”37
Some large projects removed jQuery as a result. In 2018, GitHub described replacing $(selector) with querySelectorAll(), $.ajax with fetch() and jQuery animations with CSS animations. Its engineers also said chained calls hid errors, because jQuery quietly skipped elements that were missing, and that removal cut a dependency of about 30 KB.16 The Bootstrap design framework said on June 16, 2020, that its version 5 no longer depends on jQuery.38
jQuery is still very widely deployed. As of October 22, 2026, W3Techs finds version 3 on 78.8% of jQuery sites, version 1 on 17.0% and version 2 on 4.2%. It does not list a share for version 4.7
Estimates of its reach differ by source and method. In April 2024 the jQuery team cited an OpenJS Foundation estimate, based on an IDC survey, that 90% of all websites use jQuery, and said about a third of those run an outdated version.26 W3Techs, which detects the libraries actually loaded by the sites in its own survey, finds jQuery on 64.5% of them as of October 22, 2026.7 The two figures measure different things and come from different years.
WordPress is one reason so many sites carry it. In June 2020, WordPress developers set out a staged update: remove the old jQuery Migrate 1.x in WordPress 5.5, move to the latest jQuery in 5.6, and remove Migrate in 5.7 or later.39 As of October 22, 2026, the latest WordPress release, 7.1.3, lists jQuery 3.7.1 among its packages.40
Timeline
- jQuery 4.0.0, the first major version in almost 10 years, is released11
- CISA lists the jQuery flaw CVE-2020-11023 as exploited by attackers31
- jQuery UI moves to maintenance-only mode, alongside the deprecation of jQuery Mobile34
- jQuery 3.5.0 fixes a cross-site scripting flaw in htmlPrefilter30
- The JS Foundation and Node.js Foundation merge into the OpenJS Foundation33
- GitHub describes removing jQuery from its website16
- jQuery 3.0 is released22
- jQuery 2.0 drops Internet Explorer 6, 7 and 821
- The jQuery Foundation is announced13
- jQuery 1.3 introduces the Sizzle selector engine20
- Microsoft and Nokia announce support for jQuery19
- WordPress 2.2 switches its core JavaScript to jQuery18
- jQuery 1.0 is released14
- John Resig announces jQuery at BarCamp NYC11
- Resig blogs the selector-based idea behind jQuery8
What it means for your website
On a hosted builder such as Wix or Squarespace, the platform decides which scripts load and you never manage jQuery yourself. It matters most on self-hosted WordPress and on older hand-built sites, where the theme, plugins or old custom code may load it.
- Find out which version you run. View your page source and search for “jquery.” jQuery’s own files carry the version in their names, such as jquery-4.0.0.min.js.25 As of October 22, 2026, W3Techs finds version 1 on 17.0% of jQuery sites.7
- Know the cutoffs. Versions before 3.5.0 carry the CVE-2020-11022 and CVE-2020-11023 cross-site scripting flaws, and CISA lists CVE-2020-11023 as exploited by attackers. Versions before 3.4.0 also carry CVE-2019-11358.283132
- On WordPress, let core supply jQuery. WordPress ships its own copy, and the current release, 7.1.3, lists jQuery 3.7.1 as of October 2026.40 A theme or plugin that loads a second, older copy from elsewhere can undo that. Our WordPress review covers what running a self-hosted site involves.
- Upgrade with Migrate, on a copy first. The jQuery team’s advice is to add jQuery Migrate after jQuery, fix each console warning, then remove Migrate. Sites already on 1.9 or later can go straight to jQuery 4.x.26 Try this on a staging site before your live one, because old plugins may depend on removed features.
- Stay on 3.x if you must support old browsers. jQuery 4.0 drops Internet Explorer 10 and older, and the team says sites that need them should keep using 3.x.11 Version 3.x now gets critical updates only.1
- Weigh the size. Every script is one more file for the browser to fetch and run, and our glossary entry on Core Web Vitals explains how page speed is measured. The 4.0 slim build, without Ajax and effects, is about 19.5 KB compressed.1125 For new code, browsers now offer querySelectorAll() and fetch() without any library.3637
See also
References
- jQuery. OpenJS Foundation. accessed October 22, 2026.
- jQuery(). jQuery API Documentation, OpenJS Foundation. accessed October 22, 2026.
- jQuery's $ Object vs. $ Function. jQuery Learning Center, OpenJS Foundation. accessed October 22, 2026.
- Avoiding Conflicts with Other Libraries. jQuery Learning Center, OpenJS Foundation. accessed October 22, 2026.
- $( document ).ready(). jQuery Learning Center, OpenJS Foundation. accessed October 22, 2026.
- jQuery License. OpenJS Foundation. accessed October 22, 2026.
- Usage statistics and market share of jQuery for websites. W3Techs. 2026-10-22. accessed October 22, 2026.
- Selectors in Javascript. John Resig, johnresig.com. 2005-08-22. accessed October 22, 2026.
- jQuery History. OpenJS Foundation. accessed October 22, 2026.
- Ten Years of jQuery and Beyond. Official jQuery Blog. 2016-01-14. accessed October 22, 2026.
- jQuery 4.0.0. Timmy Willison, Official jQuery Blog. 2026-01-17. accessed October 22, 2026.
- BarCampNYC Wrap-up. John Resig, johnresig.com. 2006-01-16. accessed October 22, 2026.
- Announcing the jQuery Foundation. Adam J. Sontag, Official jQuery Blog. 2012-03-06. accessed October 22, 2026.
- jQuery 1.0. John Resig, Official jQuery Blog. 2006-08-26. accessed October 22, 2026.
- About John Resig. John Resig, johnresig.com. accessed October 22, 2026.
- Removing jQuery from GitHub.com frontend. Mislav Marohnić, Kristján Oddsson, Mu-An Chiou and Keith Cirkel, The GitHub Blog. 2018-09-06. accessed October 22, 2026.
- jQuery.ajax(). jQuery API Documentation, OpenJS Foundation. accessed October 22, 2026.
- WordPress 2.2. WordPress.org Documentation. 2007-05-15. accessed October 22, 2026.
- jQuery, Microsoft, and Nokia. John Resig, Official jQuery Blog. 2008-09-28. accessed October 22, 2026.
- jQuery 1.3 and the jQuery Foundation. John Resig, Official jQuery Blog. 2009-01-14. accessed October 22, 2026.
- jQuery 2.0 Released. Dave Methvin, Official jQuery Blog. 2013-04-18. accessed October 22, 2026.
- jQuery 3.0 Final Released. Timmy Willison, Official jQuery Blog. 2016-06-09. accessed October 22, 2026.
- jQuery 3.7.1 Released: Reliable Table Row Dimensions. Timmy Willison, Official jQuery Blog. 2023-08-28. accessed October 22, 2026.
- Releases: jquery/jquery. jQuery, GitHub. accessed October 22, 2026.
- Download jQuery. OpenJS Foundation. accessed October 22, 2026.
- Upgrading jQuery: Working Towards a Healthy Web. Timmy Willison, Official jQuery Blog. 2024-04-17. accessed October 22, 2026.
- jQuery 3.7.0 Released: Staying in Order. Timmy Willison, Official jQuery Blog. 2023-05-11. accessed October 22, 2026.
- Potential XSS vulnerability in jQuery.htmlPrefilter and related methods (CVE-2020-11022). jQuery security advisory, GitHub. 2020-04-29. accessed October 22, 2026.
- CVE-2020-11022. National Vulnerability Database, NIST. 2020-04-29. accessed October 22, 2026.
- jQuery 3.5.0 Released. Timmy Willison, Official jQuery Blog. 2020-04-10. accessed October 22, 2026.
- CVE-2020-11023. National Vulnerability Database, NIST. 2020-04-29. accessed October 22, 2026.
- CVE-2019-11358. National Vulnerability Database, NIST. accessed October 22, 2026.
- Node.js Foundation and JS Foundation Merge to Form OpenJS Foundation. The Linux Foundation. 2019-03-12. accessed October 22, 2026.
- jQuery maintainers update and transition jQuery UI as part of overall modernization efforts. Michał Gołębiowski-Owczarek, Felix Nagel and the jQuery team, jQuery UI Blog. 2021-10-07. accessed October 22, 2026.
- jQuery maintainers continue modernization initiative with deprecation of jQuery Mobile. Michał Gołębiowski-Owczarek, Felix Nagel and the jQuery team, jQuery UI Blog. 2021-10-07. accessed October 22, 2026.
- Selectors API Level 1. W3C. 2013-02-21. accessed October 22, 2026.
- Fetch API. MDN Web Docs, Mozilla. accessed October 22, 2026.
- Bootstrap 5 alpha. Bootstrap Blog. 2020-06-16. accessed October 22, 2026.
- Updating jQuery version shipped with WordPress. Andrew Ozz, Make WordPress Core. 2020-06-29. accessed October 22, 2026.
- wordpress-develop: package.json (tag 7.1.3). WordPress, GitHub. accessed October 22, 2026.
Web Building Encyclopedia. First published October 22, 2026. Last reviewed October 22, 2026. Every fact on this page is linked to a source we opened. Spotted an error? Write to [email protected].