List of Really Useful JavaScript Libraries

Popular JavaScript frameworks probably provide every common function a developer may need. The ability to extend these frameworks with new plugins makes them even more powerful. But you may still face situations when you don’t want to use these frameworks or you may find lack of support for specialized functions. This is where a lot of really useful stand alone JavaScript libraries can provide help.

W3Avenue has compiled a list of really useful standalone JavaScript libraries that will help you when your favorite JavaScript framework like Prototype, jQuery, MooTools, etc don’t provide functions for your specific needs or you prefer not to use them for some reason.

Animation

  • JSTweener
    A tween library for JavaScript based on Tweener Class for tweening and other transitions via ActionScript code for Flash.
  • $fx() – JavaScript Animation Library
    $fx() is the really small (less than 4 KBs) and pretty flexible library to animate HTML elements. It lets you to alter any CSS property along time line by passing just simple configuration. Moreover you can combine effects, group them to the chains and run parallel, also you have ability to set different callbacks what gives you even more flexibility.
  • Facebook Animation
    Animation library gives developers an easy way to improve their user interface with a line of code or two. All animations are CSS based, so a working knowledge of CSS will really help you out here. An open-source version of FBJS Animation can work on pages outside of Facebook.
  • More Libraries: FX, Bytefx, Animator.js, jsAnim

Audio / Video

  • SoundManager
    SoundManager wraps and extends the Flash Sound API, and exposes it to JavaScript. The flash portion is hidden, transparent to both developers and end users.
  • Flowplayer JavaScript API
    The Flowplayer JavaScript API provides you with an easy-to-use, yet powerful way to control one or more Flowplayer instances on a html page. Flowplayer consists of two parts: the Flowplayer SWF object, that is a wrapper around a Flash object, and a JavaScript library that translates the easy-to-use API commands into the more complex interaction with the Flowplayer SWF object (that in turn controls the Flash object).

Cookies

  • Cookies
    This is a JavaScript library for accessing and manipulating HTTP cookies in the browser. You can get one or a list of cookies, set cookies, delete cookies, test if the browser accepts cookies. jQuery is not required to use this library, but jQuery bindings are available when jQuery is present on the page. When jQuery is available, you can cause form fields to automatically set cookies, or auto fill form fields with cookie values.
  • EasyCookie
    Simple & easy JavaScript cookie management script.

Cryptography

  • JavaScript MD5
    JavaScript implementation of MD5 allows you to perform simple cryptography.

Database

  • Taffy DB
    Taffy DB is a free and open source JavaScript library that acts as thin data layer inside Web 2.0 and Ajax applications. Compatible with major Ajax libraries, its main features include: CRUD Interface (Create, Read, Update, Delete), Sorting, Looping, Advanced Queries, etc.
  • ActiveRecord.js
    ActiveRecord.js is a cross browser, cross platform, stand-alone object relational mapper. It shares a very similar vocabulary to the Ruby ActiveRecord implementation, but uses JavaScript idioms and best practices. It can operate using an in memory hash table, or with a SQL back end on the Jaxer platform (SQLite and MySQL), Adobe’s AIR (SQLite) and Google Gears (SQLite).

Date / Time

  • Date.js
    Datejs is an open source JavaScript date library; which allows you to work with date and time effortlessly. It supports over 150 cultures and is packed with functions that allow you to set, parse, compare, change dates, etc.

Debugging / Logging

  • Firebug Lite
    Firebug is probably one of the most popular debugging extension for Firefox -  Firebug Lite is an alternative solution if you need to test your pages in Internet Explorer, Opera, and Safari?  It a JavaScript file you can insert into your pages to simulate some Firebug features in browsers.
  • Blackbird
    Open Source JavaScript Logging Utility. It offers a simple way to log messages in JavaScript and an attractive console to view and filter them.
  • NitobiBug
    NitobiBug is a browser-based JavaScript object logger and inspection tool – similar to Firebug. NitobiBug runs across different browsers (IE6+, Safari, Opera, Firefox) to provide a consistent and powerful tool for developing rich Ajax applications.

Fonts / Text / Typography

  • strokeText.js
    strokeText.js is an unobtrusive javascript library working in all the major browsers – Mozilla Firefox 1.5+, Opera 9+, Safari and IE6+. The library provides cross API text stroking capability for Canvas and VML. The (built in) sans-serif font is also adapted for SVG to ensure an identical representation.
  • typeface.js
    Allows you to embed custom fonts in your web pages so that you don’t have to render text to images. Instead of creating images or using flash just to show your site’s graphic text in the font you want, you can use typeface.js and write in plain HTML and CSS, just as if your visitors had the font installed locally.
  • Cufón
    Fast text replacement with canvas and VML – no Flash or images required.
  • Hyphenator.js
    Automatically hyphenates texts on websites if either the web developer has included the script on the website or you use it as a bookmarklet on any site.
  • More Libraries: sIFR, Facelift Image Replacement,FontJazz

Form Validation

  • LiveValidation
    LiveValidation is a small open source JavaScript library for making client-side validation quick, easy, and powerful. Two versions are provided – a prototype.js version, and a standalone version. Both are fully tested on most modern browsers with a comprehensive test suite.
  • wForms
    Unobtrusive JavaScript library that adds commonly needed behaviors to traditional web forms without the need for any programming skill.
  • Validanguage
    Validanguage is an inheritance-driven, unobtrusive, open source JavaScript validation library designed to be the feature-rich, user-friendly validation framework.
  • More Libraries: Yav, qForms JavaScript API

Flash

  • SWFObject
    SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file.
  • AS3Wrapper
    It’s a JavaScript library, compatible with IE and Firefox, that enables entire Flash API accessible from regular script tags. Owing to the similarities between the two languages, coding Flash in JavaScript is actually incredibly natural, and what’s more, it also seems to have pretty nice performance!
  • Aflax
    JavaScript Library that enables developers to use JavaScript to fully utilize all of the features of Adobe’s Flash 8 runtime – including graphics, networking, video and camera support.

Game Programming

Graphs / Charts

  • PlotKit
    Chart and Graph Plotting Library for JavaScript. It has support for HTML Canvas and also SVG via Adobe SVG Viewer and native browser support.
  • JS Charts
    JS Charts is a free JavaScript based library that lets you create charts in different templates like bar charts, pie charts or simple line graphs. Just include jscharts.js file, prepare your chart data in XML or JavaScript Array and your chart is ready!
  • Flot (Requires jQuery)
    JavaScript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side. Flot is cross-browser and works with Internet Explorer 6/7/8, Firefox 2.x+, Safari 3.0+, Opera 9.5+ and Konqueror 4.x+.
  • More Libraries: JavaScript Diagram Builder

HTML Tables

  • SortTable
    Allows you to make all your tables sortable. It uses DOM, it is completely unobtrusive and it knows how to sort a variety of different data types.
  • DragTable
    Enable users to change order of table columns by simply dragging them.
  • KeyTable
    KeyTable is a JavaScript library which provides keyboard navigation and event binding for any HTML table. With KeyTable Excel style table navigation can be employed to provide features such as editing of a table without requiring a mouse.

Image Processing / Visualization / Drawing

  • Processing.js
    Processing.js uses JavaScript to draw shapes and manipulate images on the HTML5 Canvas element. The code is light-weight, simple to learn and makes an ideal tool for visualizing data, creating user-interfaces and developing web-based games.
  • Raphaël
    JavaScript library that will simplify your work with vector graphics on the web. It uses SVG and VML as a base for creating graphics and currently supports Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+.
  • Pixastic Image Processing Library
    Allows you to perform a variety of operations on images using just a bit of JavaScript. The effects supported out of the box include desaturation/grayscale, invert, flipping, brightness/contrast adjustment, hue/saturation, emboss, blur, and many more.
  • VectorGraphics Library
    High Performance JavaScript Vector Graphics Library. Draw Line, Circle, Ellipse (Oval), Polyline, Polygon, Rectangle.
  • Reflection.js
    Allows you to add reflections to images on your pages. It uses unobtrusive JavaScript to keep your code clean. It works in all the major browsers – Internet Explorer 5.5+, Mozilla Firefox 1.5+, Safari, Google Chrome and Opera 9+. On older browsers, it’ll degrade and your visitors won’t notice a thing. Best of all, it’s under 5KB.
  • CVI Libraries (Canvas Vml Image Effects)
    The CVI libraries uses unobtrusive JavaScript to keep your code clean and they work in all the major browsers – Mozilla Firefox 1.5+, Opera 9+, IE6+ and Safari. All scripts are distributed under the Netzgestade Software License Agreement. License permits free of charge use on non-commercial and private web sites only. There are also Commercial Software Licenses available. Libraries: bevel.js, corner.js, curl.js, edge.js, filmed.js, glossy.js, instant.js, reflex.js, shiftzoom.js, snapfit.js, slided.js, sphere.js
  • Drag & Drop for Images and Layers
    A cross-browser JavaScript DHTML Library which adds Drag Drop functionality and extended DHTML capabilities to layers and to any desired image.
  • ExplorerCanvas
    Modern browsers like Firefox, Safari, Chrome and Opera support the HTML5 canvas tag to allow 2D command-based drawing. ExplorerCanvas brings the same functionality to Internet Explorer. To use, web developers only need to include a single script tag in their existing web pages.
  • Canvas 3D JS Library (C3DL)
    Provides a set of math, scene, and 3d object classes to make the canvas more accessible for developers that want to develop 3D content in browser but do not want to have to deal in depth with the 3D math needed to make it work. Requires Canvas 3d enabled browser (Firefox 3.5 or higher)
  • jsDraw2D
    Open Source JavaScript Graphics Library that allows your to draw advance drawings like cubic Bezier curve, general Bezier curve (The general Bezier curve can be of any degrees including linear, quadratic and cubic), open curve passing through given points and closed curve passing through given points. This is a pure JavaScript library that works without using another framework, plugins, SVG or VML.

Keyboard

  • Shortcuts.js
    Makes it easy to add keyboard shortcuts(or accelerators) to your JavaScript application.
  • QFocuser
    JavaScript class for keyboard navigable AJAX widgets for better usability and accessibility

Mapping

  • Mapstraction
    Mapstraction is a library that provides a common API for various JavaScript mapping APIs to enable switching from one to another as smoothly as possible. Developers can code their applications once, and then easily switch mapping provider based on project needs, terms and conditions, and new functionality.

Maths

  • Sylvester
    Sylvester is a JavaScript library designed to let you do mathematics with vectors and matrices without having to write lots of loops and throw piles of arrays around. It includes classes for modeling vectors and matrices in any number of dimensions, and for modeling infinite lines and planes in 3-dimensional space. It lets you write object-oriented easy-to-read code that mirrors the math it represents.

Regular Expressions

  • XRegExp
    XRegExp is a JavaScript library that provides an augmented, cross-browser implementation of regular expressions, including support for additional modifiers and syntax. Several convenience methods and a powerful recursive-construct parser are also included.
  • textMonster
    Lets you chain as many regular expressions as you want together and iterate over their results in a straightforward manner.

URL

  • JavaScript URL Library
    This JavaScript library facilitates the easy construction and deconstruction of URL strings by breaking the URL into it’s various components. This library is capable or taking a URL as a string or using the current window.location and parsing it into a URL object. Any of the components of the URL can then easily be manipulated as required and the modified URL string can be retrieved.
  • UED (URL Encoded Data)
    This script only consist of one function which will take an array as its argument and return the data encoded in UED format – as a string. You can use that string to send the data via POST or GET in the query part of the URL.

Utilities (Others)

  • MoreCSS
    JavaScript library that can assist you with all the daily JavaScript things like pop-ups, tabs, tooltips, hyphenation, advanced list styling and more without forcing you to learn any JavaScript. If you already know CSS you can easily use it using CSS like syntax.
  • Modernizr
    Modernizr is a small and simple JavaScript library that helps you take advantage of emerging web technologies (CSS3, HTML 5) while still maintaining a fine level of control over older browsers that may not yet support these new technologies.
  • IE7.js
    IE7 is a JavaScript library to make Microsoft Internet Explorer behave like a standards-compliant browser. It fixes many HTML and CSS issues and makes transparent PNG work correctly under IE5 and IE6.
  • Sizzle JavaScript Selector Library
    A pure JavaScript CSS selector engine designed to be easily dropped in to a host library. Sizzle supports virtually all CSS 3 Selectors – this even includes some parts that are infrequently implemented such as escaped selectors (”.foo\\+bar”), Unicode selectors, and results returned in document order.
  • DD_Roundies
    This is a JavaScript library that makes creation of rounded-corner HTML boxes easier, with a focus on Internet Explorer.
  • DD_BelatedPNG
    JavaScript library that adds PNG image support into IE6. You can use PNGs as the SRC of an <IMG/> element or as a background-image property in CSS. Both background-position and background-repeat work as intended.
  • SocialHistory.js
    Enables you to detect which social bookmarking sites your visitors use.
  • SyntaxHighlighter
    This JavaScript library helps you to display code with color coded syntax on your website.
  • PHP.js
    JavaScript library that ports PHP functions to JavaScript. By including the PHP.JS library in your own projects, you can use your favorite PHP functions client-side. Using PHP.JS may speed up development for PHP developers who are increasingly confronted with client-side technology.

Please feel free to suggest any addition to the list in your comments. You may also want to look at:

Sizzle JavaScript Selector Library

Stay Updated

If you found this post useful, consider subscribing to our RSS Feed! You can also stay updated by following us on Twitter and Facebook or by subscribing to our FriendFeed.

Bookmark / Share

Bookmark and Share

Read More

SIMILAR/RELATED POSTS:

PREVIOUS POST:

NEXT POST:

Reader Comments

21 Responses to “List of Really Useful JavaScript Libraries”
  1. web2000 says:

    Great list.. Thanks!

  2. Nice list. Here’s a few more, mostly for use with Prototype.js:

    LivePipe UI (http://livepipe.net/): Includes libraries for cookie and hotkey manangement, events, in addition to some UI controls.

    Really Easy Field Validation (http://tetlaw.id.au/view/javascript/really-easy-field-validation): For form validation.

    TableKit (http://www.millstream.com.au/view/code/tablekit): Table sorting and more.

    ActiveRecord.js is a part of ActiveJS (http://activejs.org), which has many MVC components for use in client- or server-side JS.

  3. art2code says:

    Nice list!
    very useful !
    thx

  4. yutik says:

    Try this one – http://developers.cloudmade.com/projects
    It contains maps API and all the resources you need to start building interactive web, mobile and desktop applications. Think it would be useful for people who want to have a map in own application.

  5. Donald Moore says:

    Good detail.

    We should study more about Javascript!

    Thanks.

  6. stefan says:

    virus warning at this link

    http://www.tommysmind.com/gamejs/

    at least on my host

    • Tommy Maintz says:

      Hey Stefan,

      I’m the author of GameJS. I have just downloaded the file and checked for viruses, but my AVG says its clean. You got me very worried by this comment! Could you please give me some more details about the virus report? My email address is tommy . maintz @ gmail . com.

      • Tommy Maintz says:

        Oh wow, I see that when I open the page in Chrome it gives me this warning about something being hosted on crazyt.com on the web page, and that is supposedly a malware site. But there is nothing on my page that links to crazyt!! Must have something to do with the hosting I guess?? I’ll look into it.

  7. Another pretty useful standalone JS animation library is “Bernie’s Better Animation Class”, Apache licensed. http://www.berniecode.com/writing/animator.html

  8. leapbrowser says:

    great site. we like it and use it. You can find a link to these pages on our site.

  9. great list of js libs.. thanks for share

  10. Ryan Morr says:

    I noticed my FX library was briefly mentioned, well it just so happens that I’ve officially launched version 2 over at my blog: http://ryanmorr.com/archives/fx-2-0-the-full-featured-animation-framework

  11. Anthony Hopkins says:

    I found a pretty useful JavaScript library called JXtension while I was working on my shopping cart project this semester. It is brand new so the documentation isn’t all there yet but it seems to work well for accessing DOM objects, working with colors, and other cool functions that aren’t available (at least that I know of), in JavaScript. I found it at http://jxtension.gotochriswest.com/.

    • Clarence Fredericks says:

      I see that Chris West got rid of JXtension. Now he is supporting jPaq which is a much better idea than JXtension. Instead of re-inventing the wheel, it seems that he has designed a new type of library all together: a fully customizable library. jPaq is lightweight just like its predecessor and is fully documented (unlike JXtension). The official site is http://www.jpaq.org/.

  12. Marc says:

    Nice list, but I’d suggest you add the OpenLayers library to the mapping section (http;//openlayers.org/).

  13. ng says:

    Suggestion to add: copperlicht, javascript library for rendering 3d graphics. (http://www.ambiera.com/copperlicht/index.html)

  14. Frank Jovine says:

    Firebug has saved me a lot of time fixing code and it’s by far one of my favorite add-ons.

  15. Paul says:

    For form validation and JS charting library I would also suggest looking at dhtmlxForm and dhtmlxChart.

  16. Andrew says:

    Very nice collection, thanks w3avenue ;)

Leave Comment

 
 

Stay Updated, Subscribe to RSS Feed

 
 
 
 

Blogroll

 

Sponsored Links