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.

  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • Award-Winning Medical Office Software Designed for Your Specialty Icon
    Award-Winning Medical Office Software Designed for Your Specialty

    Succeed and scale your practice with cloud-based, data-backed, AI-powered healthcare software.

    RXNT is an ambulatory healthcare technology pioneer that empowers medical practices and healthcare organizations to succeed and scale through innovative, data-backed, AI-powered software.
    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
  • Dominate AI Search Results Icon
    Dominate AI Search Results

    Generative Al is shaping brand discovery. AthenaHQ ensures your brand leads the conversation.

    AthenaHQ is a cutting-edge platform for Generative Engine Optimization (GEO), designed to help brands optimize their visibility and performance across AI-driven search platforms like ChatGPT, Google AI, and more.
    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
    tabler icons

    tabler icons

    1950 free MIT-licensed high-quality SVG icons

    A set of over 1950 free MIT-licensed high-quality SVG icons for you to use in your web projects. Over 1950 pixel-perfect icons for web design. Free and open-source icons designed to make your website or app attractive, visually consistent, and simply beautiful. Each icon is designed on a 24x24 grid and a 2px stroke. All icons are built with SVG, so you can place them as <img>, background-image and inline in HTML code. If you load an icon as an image, you can modify its size using CSS. You can paste the content of the icon file into your HTML code to display it on the page. Import the icon and render it in your component. You can adjust SVG properties through React props. Angular components are available through the angular-tabler-icons package. Vue components are available through the vue-tabler-icons package. Install the package, import the icon component and render it in your component. You can adjust SVG properties by passing regular HTML attributes.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 7
    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
  • 8
    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
  • 9
    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
  • Create and run cloud-based virtual machines. Icon
    Create and run cloud-based virtual machines.

    Secure and customizable compute service that lets you create and run virtual machines.

    Computing infrastructure in predefined or custom machine sizes to accelerate your cloud transformation. General purpose (E2, N1, N2, N2D) machines provide a good balance of price and performance. Compute optimized (C2) machines offer high-end vCPU performance for compute-intensive workloads. Memory optimized (M2) machines offer the highest memory and are great for in-memory databases. Accelerator optimized (A2) machines are based on the A100 GPU, for very demanding applications.
    Try for free
  • 10
    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
  • 11
    Oboe.js

    Oboe.js

    A streaming approach to JSON

    Oboe.js is a streaming approach to JSON. Oboe.js speeds up web applications by providing parsed objects before the response completes. Oboe.js is an open source Javascript library for loading JSON using streaming, combining the convenience of DOM with the speed and fluidity of SAX. It can parse any JSON as a stream, is small enough to be a micro-library, doesn't have dependencies, and doesn't care which other libraries you need it to speak to. We can load trees larger than the available memory. Or we can instantiate classical OOP models from JSON, or completely transform your JSON while it is being read. Oboe makes it really easy to start using json from a response before the ajax request completes. Or even if it never completes.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    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
  • 13
    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
  • 14
    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
  • 15
    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
  • 16
    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
  • 17
    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
  • 18
    AmplitudeJS

    AmplitudeJS

    Open Source HTML5 Web Audio Library

    Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies are required. AmplitudeJS is a lightweight JavaScript library that allows you to control the design of your media controls in your webpage, not the browser. No dependencies (jQuery not required). AmplitudeJS is available under the MIT License. Open-source software is not sustainable without proper financial support. Maintaining an open-source project takes a lot of effort and resources. If you are very thankful for what you can do with AmplitudeJS or if you are using AmplitudeJS to make any sort of revenue, we kindly ask that you contribute any resources available to keep the community growing. Autogenerate waveforms and visualizations using the Web Audio API. Public functions for unlimited control! All of our example players have the code available on our "AmplitudeJS Example Players" repository.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 19
    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
  • 20
    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
  • 21
    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
  • 22
    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
  • 23
    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
  • 24
    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
  • 25
    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
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next