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
  • Yeastar: Business Phone System and Unified Communications Icon
    Yeastar: Business Phone System and Unified Communications

    Go beyond just a PBX with all communications integrated as one.

    User-friendly, optimized, and scalable, the Yeastar P-Series Phone System redefines business connectivity by bringing together calling, meetings, omnichannel messaging, and integrations in one simple platform—removing the limitations of distance, platforms, and systems.
    Learn More
  • 1
    armorpaint

    armorpaint

    3D PBR Texture Painting Software

    ArmorPaint is stand-alone software designed for physically-based texture painting. Drag & drop your 3D models and start painting. Receive instant visual feedback in the viewport as you paint. Work fast with the convenience of nodes. Paint with fully procedural materials. Build fill layers with material nodes. Use brush nodes to create patterns and procedural brushes. ArmorPaint is designed from scratch to run completely on the GPU. This results in a smooth 4K painting experience on medium-power integrated hardware. Up to 16K texture painting is seamless using a high-end graphics card. Ray-traced baking, painting effects and viewport rendering feature running on Direct3D12 and Vulkan are in progress. ArmorPaint is powered by an in-house 3D rendering engine to achieve the best painting experience.
    Downloads: 55 This Week
    Last Update:
    See Project
  • 2
    OpenMoji

    OpenMoji

    Open source emojis for designers, developers and everyone else!

    Open source emojis for designers, developers and everyone else! OpenMoji is an open source project of 60+ students and 3 professors of the HfG Schwäbisch Gmünd and 20+ external contributors. All emojis are free to use under the CC BY-SA 4.0 license. So far more than three thousand emojis over many categories have been designed. OpenMoji carefully supports the Unicode Emoji standard. All emojis follow a single style guide and fit perfectly together. Supporting a wide range of use cases with colored and outlined emojis. OpenMoji supports the Fitzpatrick skin tones scale and multiple skin tone combinations. OpenMoji ships with various special interest categories beyond standard unicode. All emojis have been carefully designed, tested and reviewed over many iterations. From Andorra to Zimbabwe to Pirates.
    Downloads: 28 This Week
    Last Update:
    See Project
  • 3
    Cesium

    Cesium

    An open-source JavaScript library for world-class 3D globes and maps

    CesiumJS is an open source JavaScript library for creating world-class 3D globes and maps with the best possible performance, precision, visual quality, and ease of use. Developers across industries, from aerospace to smart cities to drones, use CesiumJS to create interactive web apps for sharing dynamic geospatial data. Built on open formats, CesiumJS is designed for robust interoperability and scaling for massive datasets. CesiumJS is released under the Apache 2.0 license and is free for both commercial and non-commercial use. With more than 1,000,000 downloads, CesiumJS powers apps that reach millions of users. We believe that collaboration is rooted in openness, and are committed to an open ecosystem. Stream, style, and interact with 3D buildings, photogrammetry, and point clouds using the 3D Tiles open specification.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 4
    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: 7 This Week
    Last Update:
    See Project
  • Premier Construction Software Icon
    Premier Construction Software

    Premier is a global leader in financial construction ERP software.

    Rated #1 Construction Accounting Software by Forbes Advisor in 2022 & 2023. Our modern SAAS solution is designed to meet the needs of General Contractors, Developers/Owners, Homebuilders & Specialty Contractors.
    Learn More
  • 5
    MixItUp 3

    MixItUp 3

    Library for animated filtering, sorting, insertion, removal and more

    MixItUp is a high-performance, dependency-free library for animated DOM manipulation, giving you the power to filter, sort, add and remove DOM elements with beautiful animations. MixItUp plays nice with your existing HTML and CSS, making it a great choice for responsive layouts and compatible with inline-flow, percentages, media queries, flexbox and more. MixItUp is open source and free to use for non-commercial, educational and non-profit use. For use in commercial projects, a commercial license is required. Most commonly, MixItUp is applied to a "container" of "target" elements, which could be a portfolio of projects, a list of blog posts, a selection of products, or any kind of UI where filtering and/or sorting would be advantageous. Targets can be filtered using any valid selector e.g. '.category-a', and are sorted via optional custom data attributes e.g. 'data-order'.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 6
    GoJS

    GoJS

    JavaScript diagramming library for interactive flowcharts & org charts

    Build interactive flowcharts or flow diagrams. Let your users build, modify, and save diagrams with JSON model output. Visualize state charts and other behavior diagrams. Create diagrams with live updates to monitor state, or interactive diagrams for planning. GoJS allows considerable customization of links and nodes to build all kinds of diagrams. Visualize flow, or connect pipes. Create genogram and medical diagrams, or editable family trees with collapsible levels. Create classic org charts for viewing or editing. Automatic layouts make different visualization options easy. Dynamically add ports and custom link routing. Use data-bindings to save and load routes within the Model JSON. Use groups as containers and subgraphs, with group members bound by their own rules and layouts. Model industrial processes, workflows, SCADA diagrams and more.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    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: 2 This Week
    Last Update:
    See Project
  • 8
    simpleParallax.js

    simpleParallax.js

    Simple and tiny JavaScript library that adds parallax animations

    simpleParallax.js is a very simple and tiny Vanilla JS library that adds parallax animations on any image. Where it may be laborious to get results through other plugins, simpleParallax.js stands out for its ease and its visual rendering. The parallax effect is directly applied to image tags, there is no need to use background images.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 9
    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
  • 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
  • 10
    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: 1 This Week
    Last Update:
    See Project
  • 11
    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: 1 This Week
    Last Update:
    See Project
  • 12
    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: 1 This Week
    Last Update:
    See Project
  • 13
    sharp

    sharp

    High performance Node.js image processing module

    The typical use case for this high speed Node.js module is to convert large images in common formats to smaller, web-friendly JPEG, PNG, AVIF and WebP images of varying dimensions. Resizing an image is typically 4x-5x faster than using the quickest ImageMagick and GraphicsMagick settings due to its use of libvips. Colour spaces, embedded ICC profiles and alpha transparency channels are all handled correctly. Lanczos resampling ensures quality is not sacrificed for speed. As well as image resizing, operations such as rotation, extraction, compositing and gamma correction are available. Most modern macOS, Windows and Linux systems running Node.js v10+ do not require any additional install or runtime dependencies. This module supports reading JPEG, PNG, WebP, AVIF, TIFF, GIF and SVG images. Output images can be in JPEG, PNG, WebP, AVIF and TIFF formats as well as uncompressed raw pixel data. Streams, Buffer objects and the filesystem can be used for input and output.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    CHAP Links Library is a web based visualization library for displaying graphs, networks, and timelines. The tools are developed as Google Visualization Charts for Javascript and GWT. Links Library is part of CHAP, the Common Hybrid Agent Platform. This project has been moved to Github. Please visit http://almende.github.com/chap-links-library/
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    Active Graphs and Charts

    Active Graphs and Charts

    Add Powerful reporting features to your Web / Intranet pages and appli

    With the advanced graphing functionality you will be quickly adding impressive and dynamic charting capabilities. The graphing software is completely self contained within a single file making this an ideal solution for the incorporation of graphs and charts into web / intranet pages and applications. Versatile components provide the ability for web authors and developers to easily build and publish dynamic and interactive graphs and charts.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 16
    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
  • 17
    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
  • 18
    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
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    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
  • 23
    Gio.js

    Gio.js

    A declarative 3D globe data visualization library built with Three.js

    Gio.js is an open source library for web 3D globe data visualization built with Three.js. What makes Gio.js different is that it is simple to use Gio.js to customize a 3D data visualization model in a declarative way, add your own data, and integrate it into your own modern web application. Gio.js is an open source library for web 3D globe data visualization built with Three.js. What makes Gio.js different is that it is simple to use Gio.js to customize a 3D data visualization model in a declarative way, add your own data, and integrate it into your own modern web application. This library is inspired by the Arms Trade Visualization project developed by Michael Chang and presented during Google Ideas INFO 2012. See original post. With Gio.js, it is easy to reproduce this fantastic data visualization model, and integrate it into web applications.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 24

    Ionflux Computer Graphics Toolkit

    Toolkit for 2D and 3D computer graphics

    NOTICE: This repository of IFCG will no longer be maintained. You can find the current version at https://github.com/TehFlux/ifcg The Ionflux Computer Graphics Toolkit is a collection of libraries for 2D and 3D graphics processing. The toolkit is written primarily in C++ and has full Python bindings for all components.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    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
  • Previous
  • You're on page 1
  • 2
  • Next