$("form").deserialize(data[, options]);

Decodes serialized form data and populates the form with that data. This method works upon text strings in standard URL-encoded notation, arrays containing objects of name/value pairs or objects containing name/value pairs. Thus, the plugin is compatibile with the data collected using the following methods:


Download as NPM module:

npm install jquery-deserialize

Download as Bower component:

bower install jquery-deserialize


Populate a form on page load using query string parameters:

jQuery(function( $ ) {
    $( 'form' ).deserialize( location.search.substr( 1 ) );


The plugin accepts two arguments: data and options, the latter being optional. Passing the complete() function as the second argument to this plugin is also supported.

  • data String, Array, Object A serialized (and/or encoded) String, an Array of objects containing name/value pairs, or an object of name/value pairs.
  • options Object An object of key/value pairs that configure the plugin.
    • change Function Called for every changed input value.
    • complete Function Called when all of the inputs have been updated.
    • filter String|Function|Element|jQuery A custom filter to identify inputs to deserialize. By default, all inputs that are not disabled will be deserialized (this matches the behavior of serialization).


jQuery.deserialize requires:


Copyright (c) Kyle Florence
jQuery.deserialize is dual licensed under MIT and GPLv2 licenses.


View Github