Skip to main content Accessibility Feedback


Build a query string from an object of data.

Source Code


let petfinderData = {
    key: '12345',
    shelterID: 'abc00',
    count: 20,
    animals: ['dogs', 'cats']

// returns "key=12345&shelterID=abc00&count=20&animals=dogs%2Ccats"
let query = buildQuery(petfinderData);

The helper function

 * Build a query string from an object of data
 * (c) Chris Ferdinandi, MIT License,
 * @param  {Object} data The data to turn into a query string
 * @return {String}      The query string
function buildQuery (data) {
	return new URLSearchParams(data).toString();

How it works

The URLSearchParams() method was built specifically for creating and manipulating query string data.

To create a URLSearchParams object, we can use the new URLSearchParams() constructor, passing in our data object as an argument.

let query = new URLSearchParams(petfinderData);

Once you have a URLSearchParams object, you can use a variety of methods to get and add values to the data, if needed.

In our case, we just need to get a query string, which we can do with the URLSearchParams.toString() method.

This automatically encodes any data in our object for us, and returns a query string.

let query = new URLSearchParams(petfinderData);

// returns "key=12345&shelterID=abc00&count=20&animals=dogs%2Ccats"
let queryString = query.toString();

Find this useful? You can support my work by purchasing an annual membership.