Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JavaScript
  3. jsurl

jsurl

MITJavaScript

Lightweight JavaScript library for URL manipulation in both DOM and server environments.

GitHubGitHub
578 stars99 forks0 contributors

What is jsurl?

domurl is a lightweight JavaScript library for manipulating URLs, enabling developers to easily add, remove, or modify query parameters and other URL components. It solves the problem of lacking a standard, straightforward way to handle URLs in JavaScript, working seamlessly in both DOM and server environments like Node.js.

Target Audience

JavaScript developers working on web applications who need to programmatically construct, parse, or modify URLs, especially those dealing with dynamic query parameters or cross-platform URL handling.

Value Proposition

Developers choose domurl for its simple, object-oriented API that abstracts URL complexities, its compatibility with older browsers and Node.js, and its focus on doing one thing well without dependencies.

Overview

Lightweight URL manipulation with JavaScript

Use Cases

Best For

  • Adding or removing query parameters dynamically in client-side JavaScript
  • Parsing and manipulating URLs in Node.js applications
  • Building URL utilities for cross-browser compatible web apps
  • Handling URL query strings with array values
  • Converting between URL string and object representations
  • Working with relative and absolute URLs in a unified way

Not Ideal For

  • Projects leveraging modern browser APIs like URL and URLSearchParams for performance and standards compliance
  • Single-page applications requiring integrated routing with state management or framework-specific solutions
  • Applications needing strict URI encoding adherence, as domurl's custom methods differ from native encodeURIComponent/decodeURIComponent

Pros & Cons

Pros

Cross-Platform Compatibility

Works seamlessly in browsers from IE7+ and Node.js, ensuring support for legacy environments and server-side use, as detailed in the README's supported browsers list.

Object-Oriented Query Manipulation

Provides direct property access to query parameters with support for scalar and array values, simplifying tasks like adding or removing parameters without string parsing.

Minimal and Intuitive API

Focuses on a simple, dependency-free API for URL manipulation, making it easy to learn and use for common tasks like path or protocol changes.

Legacy Browser Support

Explicitly tested and compatible with older browsers like IE7 and Android 2.3+, addressing gaps in native URL handling for outdated environments.

Cons

Custom Encoding Inconsistencies

Url.encode and Url.decode methods work differently from native encodeURIComponent/decodeURIComponent, risking encoding errors or compatibility issues in standard web scenarios.

Limited Modern Features

Lacks built-in routing, history management, or integration with contemporary frameworks, requiring additional libraries for advanced use cases like SPAs.

Potential Maintenance Concerns

The project shows signs of stagnation with minimal recent updates, which may lead to unaddressed bugs or lack of support for newer JavaScript features.

Frequently Asked Questions

Quick Stats

Stars578
Forks99
Contributors0
Open Issues9
Last commit5 years ago
CreatedSince 2013

Tags

#url-manipulation#dom#frontend#nodejs#javascript-library#backend#cross-platform#utility#query-string

Built With

J
JavaScript

Included in

JavaScript34.9k
Auto-fetched 1 day ago

Related Projects

query-stringquery-string

Parse and stringify URL query strings

Stars6,902
Forks450
Last commit8 months ago
URI.jsURI.js

Javascript URL mutation library

Stars6,232
Forks472
Last commit2 years ago
hehe

A robust HTML entity encoder/decoder written in JavaScript.

Stars3,600
Forks263
Last commit4 years ago
vocavoca

The ultimate JavaScript string library

Stars3,594
Forks136
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub