Browse free open source JavaScript Libraries and projects below. Use the toggles on the left to filter open source JavaScript Libraries by OS, license, language, programming language, and project status.

  • Auth0 for AI Agents now in GA Icon
    Auth0 for AI Agents now in GA

    Ready to implement AI with confidence (without sacrificing security)?

    Connect your AI agents to apps and data more securely, give users control over the actions AI agents can perform and the data they can access, and enable human confirmation for critical agent actions.
    Start building today
  • Cloud-based help desk software with ServoDesk Icon
    Cloud-based help desk software with ServoDesk

    Full access to Enterprise features. No credit card required.

    What if You Could Automate 90% of Your Repetitive Tasks in Under 30 Days? At ServoDesk, we help businesses like yours automate operations with AI, allowing you to cut service times in half and increase productivity by 25% - without hiring more staff.
    Try ServoDesk for free
  • 1
    anime.js

    anime.js

    JavaScript animation engine

    anime.js is a lightweight JavaScript animation library that allows you to create complex animations with a single, powerful API. It works with just about anything web-based: CSS properties, SVG, DOM attributes and JavaScript Objects. anime.js makes it easy to create layered and complex animations, and gives you full control of timing and triggering events so they move exactly how and when you want them. It supports some of the latest browsers, and offers plenty of examples and demonstrations to get you animating in no time. Animate everything you want simply and easily with anime.js.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 2
    glMatrix

    glMatrix

    Javascript Matrix and Vector library for High Performance WebGL apps

    Javascript has evolved into a language capable of handling realtime 3D graphics, via WebGL, and computationally intensive tasks such as physics simulations. These types of applications demand high performance vector and matrix math, which is something that Javascript doesn't provide by default. glMatrix to the rescue! glMatrix is designed to perform vector and matrix operations stupidly fast! By hand-tuning each function for maximum performance and encouraging efficient usage patterns through API conventions, glMatrix will help you get the most out of your browsers Javascript engine.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 3
    React Native Vector Icons

    React Native Vector Icons

    Customizable Icons for React Native with full styling

    Perfect for buttons, logos and nav/tab bars. Easy to extend, style and integrate into your project. If you want to use any of the bundled icons, you need to add the icon fonts to your Xcode project. For each platform (iOS/Android/Windows) you plan to use, follow one of the options for the corresponding platform. Upgrading this package often requires the font files linked to your projects to be updated as well. If the automatic linking works for you, running this again should update the fonts. You can either use one of the bundled icons supported or roll your own custom font. Since Icon builds on top of the Text component, most style properties will work as expected, you might find it useful to play around with background color, border width, border color, border radius, padding, margin, color, font size, etc.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    Jimp

    Jimp

    An image processing library written entirely in JavaScript for Node

    An image processing library for Node written entirely in JavaScript, with zero native dependencies. If you're using this library with TypeScript the method of importing slightly differs from JavaScript. Instead of using require, you must import it with ES6 default import scheme. If you're using a web bundles (webpack, rollup, parcel) you can benefit from using the module build of jimp. Using the module build will allow your bundler to understand your code better and exclude things you aren't using. If you're using webpack you can set process.browser to true and your build of jimp will exclude certain parts, making it load faster. The static Jimp.read method takes the path to a file, URL, dimensions, a Jimp instance or a buffer and returns a Promise. In some cases, you need to pass additional parameters with an image's URL.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Run applications fast and securely in a fully managed environment Icon
    Run applications fast and securely in a fully managed environment

    Cloud Run is a fully-managed compute platform that lets you run your code in a container directly on top of scalable infrastructure.

    Run frontend and backend services, batch jobs, deploy websites and applications, and queue processing workloads without the need to manage infrastructure.
    Try for free
  • 5
    Typed.js

    Typed.js

    A JavaScript typing animation library

    Typed.js is a library that types. Enter in any string, and watch it type at the speed you've set, backspace what it's typed, and begin a new sentence for however many strings you've set. Rather than using the strings array to insert strings, you can place an HTML div on the page and read from it. This allows bots and search engines, as well as users with JavaScript disabled, to see your text on the page. You can pause in the middle of a string for a given amount of time by including an escape character. CSS animations are built upon initialization in JavaScript. But, you can customize them at your will!
    Downloads: 1 This Week
    Last Update:
    See Project
  • 6
    C3.js

    C3.js

    A D3-based reusable chart library

    C3 makes it easy to generate D3-based charts by wrapping the code required to construct the entire chart. We don't need to write D3 code any more. C3 gives some classes to each element when generating, so you can define a custom style by the class and it's possible to extend the structure directly by D3. C3 provides a variety of APIs and callbacks to access the state of the chart. By using them, you can update the chart even after it's rendered. C3 enables deeper integration of charts into your application. Because of the dependence on D3, C3 supports only modern browsers D3 supports. For IE9 and IE10, polyfill is required because c3 uses MutationObserver, which is not supported in those versions. However, it's not required if charts always will be binded to the DOM specified by bindto because MutationObserver is not called in that case.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 7
    CSSgram

    CSSgram

    CSS library for Instagram filters

    Simply put, CSSgram is a library for editing your images with Instagram-like filters directly using CSS. What we're doing is adding filters to the images, as well as applying color and/or gradient overlays via various blending techniques to mimic filter effects. This means less manual image processing and more fun filter effects on the web! We are using pseudo-elements (i.e. :before and :after) to create the filter effects, so you must apply these filters on a containing element (i.e. not a content-block like <img>. The recommendation is to wrap your images in a <figure> tag. If you use custom naming in your CSS architecture, you can add the .scss files for the provided styles within your project and then @extend the filter effects within your style definitions. Mixins allow for multiple filter arguments to be passed into your classes. This is useful for if you want to add filters in addition to the ones provided (i.e. add a blur).
    Downloads: 0 This Week
    Last Update:
    See Project
  • 8
    Chart.xkcd

    Chart.xkcd

    xkcd styled chart lib

    Chart.xkcd is a chart library plots “sketchy”, “cartoony” or “hand-drawn” styled charts. It’s easy to get started with chart.xkcd. All that’s required is the script included in your page along with a single <svg> node to render the chart. You can install chart.xkcd via script tag in HTML or via npm. Line chart displays series of data points in the form of lines. It can be used to show trend data, or comparison of different data sets. XY chart is used to plot points by specifying their XY coordinates. A bar chart provides a way of showing data values represented as vertical bars. A stacked bar chart provides a way of showing data values represented as vertical bars. Display labels near every line (default false). Customize tick numbers you want to see on the main line. You can change size of the dots if you want.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 9
    Chartist.js

    Chartist.js

    Simple responsive charts

    You may think that this is just yet an other charting library. But Chartist.js is the product of a community that was disappointed about the abilities provided by other charting libraries. Of course there are hundreds of other great charting libraries but after using them there were always tweaks you would have wished for that were not included. Are you planning to use Chartist to create a nice Dashboard or Admin UI? Don't loose any time and kickstart your development using the awesome templates by Creative Tim. They include Chartist and come with awesome chart styles! Specifying the style of your chart in CSS is not only cleaner but also enables you to use awesome CSS animations and transitions to be applied to your SVG elements! Note that CSS3 animations on SVG CSS attributes are not supported on all browsers and the appearance may vary.
    Downloads: 0 This Week
    Last Update:
    See Project
  • ESET PROTECT Advanced Icon
    ESET PROTECT Advanced

    Comprehensive security solution for all business sizes

    Best-in-class endpoint protection against ransomware & zero-day threats, backed by powerful data security.
    Learn More
  • 10
    Emoji Mart

    Emoji Mart

    One component to pick them all

    Data required for the picker to work has been completely decoupled from the library. That gives developers the flexibility to better control their app bundle size and let them choose how and when this data is loaded. Callback when the Add custom emoji button is clicked. The button will only be displayed if this callback is provided. It is displayed when search returns no results. You can use custom emojis by providing an array of categories and their emojis. Emojis also support multiple skin tones and can be GIFs or SVGs. You can use custom category icons by providing an object with the category name as key and the icon as value. Currently supported formats are svg string and src. First, you need to make sure data has been initialized. You need to call this only once per page load. Note that if you call init like this, you don’t necessarily need to include data in your Picker props. It doesn’t hurt either, it will noop.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 11
    Emoji-Log

    Emoji-Log

    An Emoji Git commit log messages spec standard

    After building hundreds of open source software I've ended up inventing a git commit log standard called EMOJI-LOG that helps me understand a project's history with a less cognitive load just by looking at the git log. I like emoji. I like ’em a lot. Programming, code, geeks/nerds, open-source, all of that is inherently dull and sometimes boring. Emoji (which is, in fact, the plural of emoji) helps me add colors and emotions to the mix. Nothing wrong if you want to attach feelings to this 2D flat text-based world of code. I found out that instead of memorizing hundreds of emoji it's better to keep the categories small and general.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 12
    Web gallery based on pre-generated metadata, typically according to directory structure, not database or an administration. Development moved to: http://github.com/martinkozak/fsgal.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 13
    Raphaël

    Raphaël

    JavaScript vector library

    Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library. Raphaël ['ræfeɪəl] uses the SVG W3C Recommendation and VML as a base for creating graphics. This means every graphical object you create is also a DOM object, so you can attach JavaScript event handlers or modify them later. Raphaël’s goal is to provide an adapter that will make drawing vector art compatible cross-browser and easy. Raphaël currently supports Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ and Internet Explorer 6.0+. Versions will be released as we gather and test new PRs. As there are a lot of browsers being supported it might take a while to accept a PR, we will use the feedback from other users too. You can use the raphaelTest.html to try things, you need to start a server in the root dir to start testing things there.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 14
    Spectacle

    Spectacle

    A ReactJS based Presentation Library

    Spectacle is an open source presentation library based on React.js. It lets you create sleek presentations using JSX syntax, giving you the ability to live demo your code. Spectacle’s presentations are lively and interactive, with clickable elements, themes, custom backgrounds, animations, and many other fun and unique elements you can add to make your presentations pop. With Spectacle you can also live demo your code in real time without having to leave the presentation deck. Code blocks conveniently auto-size and scroll when there is an overflow of content. See the live demo deck at: https://raw.githack.com/FormidableLabs/spectacle/main/examples/one-page.html
    Downloads: 0 This Week
    Last Update:
    See Project
  • 15
    Textillate.js

    Textillate.js

    A jquery plugin for CSS3 text animations

    Textillate.js combines some awesome libraries to provide an easy-to-use plugin for applying CSS3 animations to any text. Simply include textillate.js and it's dependencies in your project to start creating unique effects. Textillate.js is built on top of the simple, yet amazingly powerful animate.css and lettering.js libraries.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    Vivus.js

    Vivus.js

    JavaScript library to make drawing animation on SVG

    Vivus is a lightweight JavaScript class (with no dependencies) that allows you to animate SVGs, giving them the appearence of being drawn. There are a variety of different animations available, as well as the option to create a custom script to draw your SVG in whatever way you like. Every path element is drawn at the same time with a small delay at the start. This is currently the default animation. Each line is drawn synchronously. They all start and finish at the same time, hence the name `sync`. Each path element is drawn one after the other. This animation gives the best impression of live drawing. To give more freedom, it's possible to override the animation of each path and/or the entire SVG. It works a bit like the CSS animation timing function. But instead of using a cubic-bezier function, it use a simple JavaScript function. It must accept a number as parameter (between 0 to 1), then return a number (also between 0 and 1). It's a hook.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 17
    embed-js

    embed-js

    A lightweight plugin to embed emojis, media, maps, tweets, code, etc.

    A lightweight JavaScript plugin to embed emojis, media, maps, tweets, code and services. embed.js was developed with a modern JavaScript workflow in mind. To use it, it's recommended you have a build system in place that can transpile ES6, and bundle modules. But at the same time, you get an already transpiled version to make your development easier. If you’re using npm package manager with a module bundler like Webpack or Browserify to consume CommonJS modules, you can use the default UMD build of the plugin by simply requiring it. The render() method renders the resulting string in the block. The .render() method also returns a promise. Optionally you can also pass a string which will be processed by the plugin.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 18
    emojilib

    emojilib

    Emoji keyword library

    Emoji keyword library. Make emoji searchable with this keyword library. If you are looking for the unicode emoji dataset, including version, grouping, ordering, and skin tone support flag, check out unicode-emoji-json.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    emojipacks

    emojipacks

    CLI to bulk upload emojis to your Slack

    CLI to bulk upload emojis to your Slack! Note you must have node and npm installed. If you don't, go to nodejs.org and follow the install instructions there. A file named batchUploadExample.sh is provided for your reference. Edit this file change the subdomain, email, and password parameters to your own and save it as batchUpload.sh or something similar. It optionally takes an argument for the directory path that contains your yaml files. If this is not provided './packs' will be used by default.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 20
    gitmoji

    gitmoji

    An emoji guide for your commit messages

    Gitmoji is an initiative to standardize and explain the use of emojis on GitHub commit messages. Gitmoji is an emoji guide for GitHub commit messages. Aims to be a standarization cheatsheet, guide for using emojis on GitHub's commit messages. Using emojis on commit messages provides an easy way of identifying the purpose or intention of a commit with only looking at the emojis used. As there are a lot of different emojis I found the need of creating a guide that can help to use emojis easier. This project is Open Source, that means everyone can participate, suggesting, discussing and adding new emojis. Take a look at the contributing section and guidelines for contributing. An easy solution for using gitmoji from your command line, is to install gitmoji-cli. A gitmoji interactive client for using emojis on commit messages. This project is a static website built with Next.js. All the gitmojis displayed are rendered from a JSON file.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 21
    jQuery DrawSVG

    jQuery DrawSVG

    Lightweight, simple to use jQuery plugin to animate SVG paths

    Lightweight, simple-to-use jQuery plugin to animate SVG paths. This plugin uses the jQuery built-in animation engine to transition the stroke on every <path> inside the selected <svg> element, using stroke-dasharray and stroke-dashoffset properties.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 22
    jQuery MiniColors

    jQuery MiniColors

    jQuery MiniColors Plugin

    jQuery MiniColors Plugin. A tiny color picker built on jQuery.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 23
    jquery-circle-progress

    jquery-circle-progress

    jQuery Plugin to draw animated circular progress bars

    jQuery Plugin to draw animated circular progress bars.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24
    lax.js

    lax.js

    Library to create smooth & beautiful animations when you scroll

    Simple & lightweight (<4kb gzipped) vanilla JavaScript library to create smooth & beautiful animations when you scroll. Lax.js 2.0 has been completely re-written with a focus on modularity and flexibility giving you more tools to create awesome animations. To implement lax you need to create at least one driver, to provide values for animations, as well as the element animation bindings. The easiest way to get started is to use presets via html classes. Multiple presets can be chained together and they can be customised to suit your needs. Use the preset explorer to explore effects and see a simple example here. To increase performance, lax.js indexes the list of elements to animate when the page loads. If you're using a library like React, Vue or EmberJS, it is likely that you are adding elements after the initial window.onload. Because of this you will need to call lax.addElements when you add components to the DOM that you want to animate.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    nivo

    nivo

    A rich set of dataviz components

    nivo provides a rich set of dataviz components, built on top of the awesome d3 and Reactjs libraries. Several libraries already exist for React d3 integration, but just a few provide server side rendering ability and fully declarative charts. In order to use nivo, you have to install the @nivo/core package and then choose some of the scoped @nivo packages according to the charts you wish to use. Given an array of data series having an id and a nested array of points (with x, y properties), it will compute the line for each data series. All datum having null x or y will be treated as holes, thus portions of the corresponding line will be skipped. You can fully customize it using the circleComponent property to define your own, if you wish to do so you should have a look at the default SVG component to get started. Bar chart which can display multiple data series, stacked or side by side. Also supports both vertical and horizontal layout, with negative values descending below the x axis.
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next