Awesome-JavaScript-Libraries
The Currated list of 200+ Awesome JavaScript libraries to add stunning UI components in your projects.
https://github.com/themeselection/Awesome-JavaScript-Libraries
Last synced: 6 days ago
JSON representation
-
UI Components
-
Form Validation
- **React Hook Form** - source form validation library for form state management built with performance, UX, and DX in mind. | JavaScript (React) |
- **Parsley.js** - source library offering robust form validation, implementable on both backend and frontend. | JavaScript |
- **Hyperform**
- **Jquery Validation** - side validation plugin with extensive customization options. | JavaScript |
- **React Final Form**
- **v8n**
- **JqBootstrapValidation** - source framework for Bootstrap forms, offering a variety of validators. | JavaScript |
- **revalidate**
- **bouncer.js** - submit validation. | JavaScript |
- **Just-validate** - based library with no dependencies. | TypeScript |
- **Jquery Creditcardvalidator**
- **Pristine** - library for JavaScript form validation, no dependencies, and supports built-in validators. | JavaScript |
- **FormValidation**
-
Editors
- **TinyMCE** - known rich text editor with a wide array of plugins. TinyMCE is highly configurable and can be integrated with major frameworks like React, Vue, and Angular. | JavaScript |
- **ProseMirror**
- **Quill**
- **Summernote**
- **CodeMirror**
- **Ace (Ajax.org Cloud9 Editor)**
- **TOAST UI Editor**
- **Jsoneditor** - friendly editor for JSON, offering a tree view to easily navigate, edit, and analyze JSON data. | JavaScript |
- **Editor.js** - styled editor with clean JSON output. Editor.js is designed to be easy to extend and customize, making it ideal for creating structured, content-centric editors. | JavaScript |
- **Slate** - agnostic library for building rich text editors. Slate provides a flexible core that can be extended to build a variety of editors. | JavaScript |
- **Trix** - friendly interface for content creation. | JavaScript |
- **Draft.js** - based framework for building rich text editors. It offers an immutable model for content state and a declarative API to manage rich text input. | JavaScript |
- **CKEditor 5**
- **SimpleMDE** - free interface for Markdown editing. | JavaScript |
- **wysihtml5** - source rich text editor based on HTML5, offering advanced features and a flexible approach to content editing. | JavaScript |
- **Monaco Editor** - based code editors. | JavaScript |
- **Medium Editor**
- **Bootstrap WYSIWYG** - compatible WYSIWYG rich text editor, designed for simplicity and integration with the Bootstrap framework. | JavaScript |
-
Charts and Graphs
- **Highcharts**
- **C3.js** - based reusable chart library that enables deeper integration of charts into web applications. | JavaScript |
- **CanvasJS**
- **Plotly.js** - level, declarative charting library that supports interactive, publication-quality graphs online. | JavaScript |
- **Frappe Charts**
- **D3.js**
- **Recharts**
- **Apexcharts.js** - to-use samples. | JavaScript |
- **Victory**
- **React-vis**
- **Nivo**
- **Chart.js**
- **amCharts**
- **BillBoard.js**
- **vue-chartjs**
- **Chartist.js**
- **E-Charts** - source and widely used library for its comprehensive range of chart types and extensive customization options. | JavaScript |
- **react-chartjs-2**
-
Carousels
- **Swiper** - source JavaScript slider library that enables you to add sliders to your web pages. | JavaScript |
- **Glide.js** - free and lightweight JavaScript slider library for creating smooth, fast, and responsive sliders. | JavaScript |
- **Splide Javascript Slider** - source, flexible, and accessible carousel library written in TypeScript. | TypeScript |
- **No UI Slider** - accessible JavaScript range slider with multi-touch and keyboard support. | JavaScript |
- **FullpageJS**
- **React Responsive Carousel**
- **React-ID-Swiper**
- **React Swipeable** - source project that offers a swipeable component for React applications. | React.js |
- **Flicking**
- **Simple Slider** - source, lightweight, and highly testable JavaScript Carousel slider library. | JavaScript |
- **Tiny Slider** - Slide is an open-source vanilla JavaScript library that lets you build beautiful and responsive carousel sliders. | JavaScript |
- **React Lightbox**
- **Slick** - enabled carousels on web pages. | JavaScript |
- **Vue 3 Carousel** - source Vue 3 component library that lets you create customizable carousel/slides for your Vue-based projects. | Vue.js |
- **Keen Slider** - source library that can easily create sliders and carousels that are mobile-friendly. | React.js |
- **React Slick** - Slick is a carousel component for React applications for creating responsive and customizable carousels or sliders. | React.js |
- **Vue 3 Carousel** - source Vue 3 component library that lets you create customizable carousel/slides for your Vue-based projects. | Vue.js |
-
Dropdown
- **Slim Select**
- **Select2**
- **DownShift** - ARIA compliant React autocomplete, combobox or select dropdown components. | React |
- **jQuery-MultiSelect** - to-use list with checkboxes. | JavaScript |
- **vanillaSelectBox** - select menu with 1 or 2 levels. | JavaScript |
-
Modals
- **Micromodal** - enabled modal library that you can easily add to your project with minimum configuration. | JavaScript |
- **Tingle.js** - to-use. | JavaScript |
- **AlertifyJS**
- **Vue-js-modal**
- **Rmodal**
- **Vex**
-
Navbar
- **Slideout.js**
- **SuperSlide.js**
- **Responsive-nav.js**
- **SIDR**
- **PriorityNavigation.js**
- **Menuspy**
- **JavaScript-Spatial-Navigation** - based implementation of Spatial Navigation. | JavaScript |
-
Progress/ Spinners/ Loaders
- **Epic-spinners** - Spinners is an open-source, easy-to-use CSS spinner collection with Vue JS 3 integration. | Vue.js |
- **NProgress**
- **Pace** - ready state, and elements on your page to show a progress indicator. | JavaScript and CSS |
- **ProgressBar.js** - in shapes or create your own paths. Customize the animations as you wish. | JavaScript |
- **Spin.js**
- **React-Loading**
- **Vue-Spinner**
-
Table
- **TanStack Table**
- **Handsontable**
- **Blueprint** - based open-source UI tool kit for the web. It can easily handle complex data-dense desktop applications and build an easy interface | JavaScript (React) |
- **Bootstrap Table**
- **List.js**
- **AG-Grid**
- **Material Table** - ui's table with additional features. | JavaScript (React) |
- **Clusterize.js**
- **DataTables**
-
Date Pickers
- **Flatpickr**
- **Pikaday**
- **Day.js**
- **Bootstrap-datepicker** - source Bootstrap Date picker with advanced features like keyboard navigation, autoclose, today highlight, google, and more. | Bootstrap |
- **Tempus Dominus**
- **V-calendar**
- **Date Range Picker**
- **React-DayPicker**
- **React-widgets**
- **React Infinite Calendar** - source date picker with Infinite scrolling, localization, range selection, themes, keyboard support, and more. | JavaScript (React) |
- **Pickadate.js** - friendly, responsive, and lightweight jQuery date & time input picker. | JavaScript |
- **Vuejs-DatePicker**
- **Hotel Datepicker** - based projects. Supports all modern browsers. | JavaScript |
- **Airbnb react dates** - source React datepickers on the market with a very clear and intuitive design. | JavaScript (React) |
- **React-datepicker**
-
Search
- **FZF for JavaScript** - based Fuzzy Search Library FZF, built using Golang, to JavaScript. Offers features like HighlightChars, Case sensitivity, and non-string list support. | JavaScript |
- **Fuse.Js** - source lightweight fuzzy-search built on JavaScript with zero dependencies. Supports logical query operators and has no DOM dependencies, making it suitable for backend use as well. | JavaScript |
- **FlexSearch** - text JavaScript fuzzy search library with zero dependencies. Offers features like multi-field search, phonetic transformations, partial matching, and uses a scoring algorithm called "contextual index." | JavaScript |
- **TypeHead/BloodHound**
- **FuzzBunny** - source, fast, minified, and memory-efficient fuzzy string searching/matching/highlighting library. Works well in browser environments and Node.js, with a straightforward API for easy integration. | JavaScript |
- **Fuzzyset.JS** - text search to determine misspellings and approximate string matching. | JavaScript |
- **Match Sorter**
- **uFuzzy** - to-medium phrases, suitable for list filtering and auto-complete/suggest features. | JavaScript |
- **Horsey**
- **Bripkens** - term matches and character sequence highlighting before and after the text. | JavaScript |
-
Drag and Drop
- **Sortable** - source JavaScript library for reorderable drag-and-drop lists. Supports multi-drag and swap thresholds. | JavaScript |
- **React-Beautiful-DnD** - and-drop library for lists, built on React. Supports vertical, horizontal, and multi-drag features. | JavaScript (React) |
- **Dragula**
- **React-Grid-Layout** - packing and responsive breakpoints. | JavaScript (React) |
- **DropZone** - and-drop file upload interfaces, with file preview and upload progress features. | JavaScript |
- **React-DnD** - and-drop interfaces, keeping components decoupled. | JavaScript (React) |
- **vue.draggable.next** - based drag and drop component, compatible with Vue 3 and based on Sortable.js. | JavaScript (Vue) |
- **Draggable** - source library offering a custom drag-and-drop experience by abstracting native browser events. | JavaScript |
- **Interact.JS** - touch gestures for drag and drop, with a simple, flexible API. | JavaScript |
- **MoveAble** - and-drop, like resizing, wrapping, pinching, and grouping. | JavaScript |
- **Ng-Sortable** - based drag-and-drop library supporting sortable and draggable features on touch devices. | JavaScript (Angular) |
- **DragSelect** - and-drop library with no dependencies, supporting module exports and ES6 modules. | JavaScript |
-
Formatting
- **Cleave.js**
- **Numeral.js**
- **Format.Js**
- **Inputmask**
- **AutoNumeric.js** - as-you-type formatting for international numbers and currencies. | JavaScript |
-
3D and Games
- **Melon.js** - based graphics, WebGL rendering, and audio support. | JavaScript |
- **Three.js** - based rendering, built-in geometries, shaders, camera control, and more. | JavaScript |
- **React-three-fiber**
- **Cesium**
- **Aframe** - component architecture, high performance, and cross-platform compatibility. | JavaScript |
- **Kaboom.js**
- **Regl** - performance, functional graphics applications and games. It provides a minimalistic API for efficient rendering. | JavaScript |
- **Matter.js**
- **Cannon.js**
- **PlayCanvas** - time collaboration. | JavaScript |
- **Physijs**
- **Oimo.js**
- **Whitestorm.js**
- **TWEEN.js**
- **vanilla-tilt.js**
- **Plank.js**
- **Stage.js** - like tree data model and rendering cycle management. | JavaScript |
-
Timeline
- **Timesheet.js**
- **TimelineJS**
- **Angular Timeline** - driven vertical timeline library for Angular. | JavaScript (Angular) |
- **Vis Timeline**
- **TimelineJS3**
- **React-Chrono** - alternating. | JavaScript (React) |
- **Labella.js**
- **Chronoline.js**
- **React Calendar Timeline**
- **React Vertical Timeline**
- **Vertical Timeline** - based timeline library with support for bounce animation. | JavaScript, CSS3 |
-
Notification, Snackbar and Toast
- **Sweetalert2** - ARIA) replacement for JavaScript's popup boxes. Zero dependencies. | JavaScript |
- **Toastr** - blocking notifications. jQuery is required. The goal is to create a simple core library that can be customized and extended. | JavaScript |
- **React Hot Toast**
- **React-Toastify** - Toastify allows you to add notifications to your app with ease. | React |
- **Notie**
- **Vue-toast-notification**
- **Notify.js**
- **Notyf** - free. | JavaScript |
- **VanillaToasts**
-
Rating
- **Raty**
- **star-rating.js** - dependency library that transforms a select with numerical-range values (i.e. 1-5) into a dynamic star rating element. | JavaScript & HTML |
- **vue-star-rating**
- **react-stars**
- **RateYo!**
- **Starry** - rating capability, initial rating value, read-only mode, tooltips for stars, and custom icons. | JavaScript |
-
Buttons
- **Add to Calendar**
- **Vue Promise Btn**
- **Cloud Sync Button** - bar with cloud synchronization animation in vanilla JavaScript, Vue.js, and Web component formats. | Vue.js |
- **Animating-Buttons**
-
Pagination
- **React Paginate** - based projects. | React.js |
- **Vue.js Paginate**
- **Ngx-Pagination**
- **rc-pagination** - source React pagination component for your React web apps. | React.js |
- **Laravel Vue Pagination** - of-the-box components for Bootstrap 4/5 and Tailwind CSS. | Vue.js |
- **Pagination.js**
-
Accordion
-
Badges / Chips
-
Breadcrumbs
- **Laravel-breadcrumbs** - style way to create breadcrumbs. | Laravel |
-
Calendar
- **DayPilot Lite** - source JavaScript calendar and Scheduler library. Suitable for building calendars, scheduling, project management, and resource booking applications. | JavaScript |
- **CLNDR**
- **MobiScroll- Modern Javascript event calendar**
- **Color Calendar**
-
Programming Languages
Categories
Sub Categories
Editors
18
Charts and Graphs
18
3D and Games
17
Carousels
17
Date Pickers
15
Form Validation
13
Drag and Drop
12
Timeline
11
Search
10
Notification, Snackbar and Toast
9
Table
9
Navbar
7
Progress/ Spinners/ Loaders
7
Pagination
6
Modals
6
Rating
6
Dropdown
5
Formatting
5
Buttons
4
Calendar
4
Badges / Chips
1
Accordion
1
Breadcrumbs
1
Keywords
javascript
52
react
31
vue
13
typescript
13
chart
11
reactjs
9
drag-and-drop
9
component
8
svg
8
pagination
7
datepicker
7
charting-library
7
table
6
data-visualization
6
webgl
6
charts
6
es6
6
visualization
6
calendar
6
css
6
notifications
5
angular
5
react-component
5
html
5
validation
5
vanilla
5
ui
5
jquery
5
date
5
vuejs
4
animation
4
gamedev
4
notification
4
web
4
d3
4
library
4
input
4
slider
4
toast
4
mobile
4
3d
4
vanilla-javascript
4
carousel
4
datagrid
4
datatable
4
html5
4
graph
4
modal
4
canvas
4
grid
4