Clone this wiki locally
Here is a list of known plugins and enhancements for Knockout. Note that these are unofficial (caveat developer :). Plugin Developers, please feel free to add your contributions!
A mini (but full-fledged) SPA framework built on top of Knockout, Require, Director, jQuery, Sugar
A plugin for creating a date/time picker with minimal code
A plugin for loading views in components
A plugin for friendly search in observable arrays
A logger that output to the page and/or the console
A complete ORM solution which uses ko.observables as properties and supports hierarchical data models
Declarative, boilerplate-free view-model definitions and server interactions
plugin for show/hide buttons,links corresponding to server data
Custom Bindings that utilize Twitter Bootstrap JS plugins
A comprehensive implementation of an observable dictionary.
Modifies parts of Knockout’s observable/subscription system to use deferred updates.
A collection of enhanced binding syntaxes using Knockout 3+
The Knockout.js External Template Engine extends Knockout.js to allow both native & jQuery templates to be loaded on-demand from an external resource (i.e. - external HTML file).
A template bootstrapper that enables server side templates in a convention over configuration way.
Convention over configuration binding provider for KO.
Combobox binding for KO.
A Concurrency resolver plugin for KO.
Lazy load images from your Knockout model while scrolling
A Knockout plugin that syncs observable variables between all clients automatically.
An extensible and fast object mapping plugin for KnockoutJS.
An extension to the mapping plugin which allows merging of data into existing view models, this can be useful when models need updating from json but have validation rules or other extensions applied.
Multiple KnockoutJS ViewModels (separated by namespaces).
Compatible with the global namespace as well (standard global 'data-bind' ViewModel).
Replaces foreach in many instances and is faster and simpler for some tasks.
Provides the classic switch/case construct to Knockout.
Adds Underscore methods to Knockout Observable Array.
Validation plugin that provides native validation rules and extensible rule system for custom validation.
Knockout UI is a collection of UI components based on Knockout and JQuery UI.
Small validation library.
Adds state tracking and basic undo/revert functionality. Array filters for returning only changed/new objects.
A grid binding plugin that provides basic integration with the JqGrid jQuery plugin.
Datasource Components for KnockoutJs for paging, sorting and filtering remote sources.
Provides support for binding with Telerik Kendo widgets
Knockout bindings for the jQuery UI widgets.
Provides conditional binding-overloading for knockoutJs.
Adds the ability to watch nested observables and create dependencies with minimal coding. It goes beyond the
ko.observableArrayfunction by allowing the tracking of all subscribables nested within the array elements dynamically.
A small framework for building apps with KnockoutJS.
It provides a Model, a Collection to store models and a Sync class to communicate with the server.
See also the discussion on the forum.
The Single Page Application Framework for KnockoutJS.
Observable templates Get templates from observables - including SVG
Adds additional bindings to Knockout: Map for vizualization on google maps, Piechart for rendering any collection as D3JS based pie chart, Datapicker to bind input element as bootstrap style date-picker.
Simple date formatting extender based on moment.js.
An extender to create converter observables that are bound to their source and that convert values back and forth (ex: format to string and parse from string). Also, an extender for restricting the value type that can be set to an observable.
ko-typed provides observable extensions for restricting and converting observable values based on type. Supports validation.
Building block for your web application. Single Page Application, Composition, Isolation, Panels and Windows all these features are supported by ko.widget. It is small, powerful and easy to learn plugin for KnockoutJS.
Knockout binding handler that allows you to display hints on the page.
A custom binding which offers <select> tags containing <optgroup> elements.
relational model mapping library. attributes is knockout observable.
Attach observable's to undo/redo stacks.
Knockout validation with a flexible extender and a custom binding handler.
ko.routing is a light, flexible router for knockout.
Simple knockout binding that wraps spin.js
Knockout binding to conditionally hide/show content depending on the width of the window
Simple knockout bindings to apply jquery transitions to elements
This is a simple knockout component that will automatically create observables from arbitrary json.
A simple knockout extender that wraps accounting.js
A simple knockout extender that coerces values to integers
A simple knockout binding that allows you to select a date range.
A knockout inline-confirmation binding for links/buttons
A binding provider that lets one use Knockout with a Content Security Policy.
filterfeatures to observable arrays, so you can transform collections in arbitrary ways and have the results automatically update whenever the underlying source data changes.
Transform Array--an observable array that efficiently tracks another observable array with optional filtering, sorting, and/or transformation/mapping applied in any combination. The transformed array could have entirely different objects that merely relate to the source array's objects. It can also exactly track the source array's sort order while simultaneously applying a filter and a mapping, or sort entirely differently.
Knockout binding for an easy-to-use contextual menu.
Knockout like observables in a tiny library.
Test Knockout 3.2 components and custom binding handlers with ease.
Add instance properties through the prototype chain.
Observable array which stores items indexed with a unique identifier
Incredibly simple and easy to use validation
KnockoutJs DataGrid is a library that can be used just like jQuery DataTables.
Save observables to location hash to be able to share links of the state of a model.
Provides a nice way to display examples for knockout components
A plugin with bindings to support and display the treacherous validation system errors within knockout views (Treacherous is a standalone js validation system)
Create observables directly in your bindings, no need to specify them twice.