queryzz

queryzz - a lightweight JS library for manipulating URL query parameters. Get, set, and format queries easily.
3,375 9
Install
npm install queryzz
Latest Version:3.1.5
Vue:3
License:MIT
Last Updated:Jun 25, 2025
Links: GitHub  ·  npm
Maintainer: letstri

queryzz.js

queryzz - a lightweight JS library for manipulating URL query parameters. Get, set, and format queries easily.

npm version

Quick start

Install

npm i queryzz

Usage

import { getQuery } from 'queryzz'

getQuery()

Methods

formatQuery

Format query string from an object.

const query = { value: 'test', field: ['hi', 'hello'] }

formatQuery(query)
// => value=test&field=hi&field=hello
const query = { value: 'https://google.com' }

formatQuery(query, true)
// => value=https%3A%2F%2Fgoogle.com
const query = { value: 'https://google.com' }

formatQuery(query, false)
// => value=https://google.com

getQuery

Get query from an url.

// URL: /?value=test&field=hi&field=hello

getQuery()
// => { value: 'test', field: ['hi', 'hello'] }
getQuery('value=test&field=hi&field=hello')

// => { value: 'test', field: ['hi', 'hello'] }
// URL: /?value=test&field=hi

getQuery({ arrays: ['value'] })

// => { value: ['test'], field: 'hi' }
// URL: /?value=test&field=hi&value=123&test=true

getQuery()

// => { value: ['test', 123], field: 'hi', test: true }
getQuery({
  source: 'value=test&field=hi&value=123&test=true',
  parse: false
})

// => { value: ['test', '123'], field: 'hi', test: 'true' }

setQuery

Set query to the url.

setQuery({ test: 'value' })

// => URL: /?test=value
setQuery({ test: ['12', '34'] })

// => URL: /?test=12&test=34
// /?test=value&field=test

setQuery({ test: 'field' }, { saveOld: true })

// => URL: /?test=value&test=field&field=test
// URL: /?test=value#someHash

setQuery({ test: 'value' }, { saveHash: false })

// => URL: /?test=value

React

useQuery

const [search, setSearch] = useQuery('search')

setSearch('test')

// => URL: /?search=test
// URL: /?search=test

const [search, setSearch] = useQuery('search', { array: true })

console.log(search)
// => ['test']

setSearch(['test', 'test2'])

// => URL: /?search=test&search=test2
// URL: /?page=1

const [page, setPage] = useQuery('page', { parse: false })

console.log(page)
// => '1'

Vue

useQuery

const search = useQuery('search')

search.value = 'test'

// => URL: /?search=test
// URL: /?search=test

const search = useQuery('search', { array: true })

console.log(search.value)
// => ['test']

search.value = ['test', 'test2']

// => URL: /?search=test&search=test2
// URL: /?page=1

const page = useQuery('page', { parse: false })

console.log(page.value)
// => '1'

Author

© letstri, released under the MIT license.

Related Packages

innoboxrr-maskjs

Máscaras de entrada sin dependencias, con adaptadores para Vue y React.

957
@nanostores/media-query

A smart store for Nano Stores state manager to sync with some media query

164,218 22
@websanova/vue-dot

Specialized dot notation get, set deep merge for vue.js objects.

1,337
url-search-query-builder

Do get/set/has/delete/reset/add operation on an url that contains query or searc...

4,407
stunk

A lightweight, framework-agnostic state management library for JavaScript and Ty...

20,759 173

Version History

Version Released Vue License
3.1.5 ^3.5.12 MIT
3.1.4 ^3.5.12 MIT
3.1.3 ^3.5.12 MIT
3.1.2 ^3.5.12 MIT
3.1.1 ^3.5.12 MIT