urlencoding

A tiny, zero-dependency Rust crate for percent-encoding and decoding URL paths and arguments.

Library
Cargo
v2.1.3
75stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
27/100Needs Attention
Development Activity0
Maintenance0
Community36
Maturity60
Momentum12

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
74/100Good
Architecture75
Code Quality82
Innovation45
Learning Curve95

urlencoding is a minimal Rust library for percent-encoding and decoding URLs. It encodes everything except alphanumerics and the unreserved characters -, _, ., ~, and follows the WHATWG URL standard for error recovery when decoding incomplete percent-escapes.

The crate returns Cow<str> from its encode/decode functions to avoid heap allocation when no transformation is needed, and provides a decode_binary variant for handling arbitrary bytes and invalid UTF-8. It has no runtime dependencies and is widely used as a lightweight building block in web-facing Rust crates.

What You Get

  • encode() and decode() functions for percent-encoding/decoding UTF-8 strings
  • decode_binary() for decoding into arbitrary bytes, tolerating invalid UTF-8
  • Cow<str>/Cow<[u8]> return types that avoid allocation when no encoding/decoding is needed
  • WHATWG URL standard-compliant error recovery for malformed percent-escapes
  • Zero runtime dependencies, keeping the crate lightweight for embedding in other libraries

Common Use Cases

  • Encoding query parameters or path segments before building a URL
  • Decoding percent-encoded query strings or form data received from an HTTP request
  • Sanitizing user-supplied strings for safe inclusion in a URL
  • Handling arbitrary byte payloads embedded in percent-encoded data via decode_binary

Under The Hood

Architecture - The crate is split across three small modules: enc.rs implements percent-encoding, dec.rs implements decoding (both string and binary variants), and lib.rs re-exports the public API and documents usage; total implementation is under 400 lines, keeping the surface area minimal and auditable. Tech Stack - Pure Rust (edition 2021) with zero runtime dependencies, using only std::borrow::Cow from the standard library to avoid unnecessary allocations; a benches/ directory holds Criterion-based benchmarks for encode/decode performance. Code Quality - The codebase is small enough to review in full; the maintainer (kornelski, known for numerous foundational Rust crates like pngquant/rgb) marks it with a ‘maintenance: as-is’ badge, signaling it is considered functionally complete rather than unmaintained — commits have been infrequent since 2024 because the API is stable. API Design - The API surface is deliberately minimal: encode(), decode(), and decode_binary() are the only entry points, each documented with runnable examples in the README, making adoption essentially zero-friction.

Used by 18 apps in this directory

TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,761

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
67
Dependency
Built with
TypeScript75%
Updated today
Rust
100%
Other

Fluree DB

Databases

445

A temporal, verifiable graph database with git-like branching, integrated vector/text/geo search, and RDF/SPARQL/JSON-LD/openCypher support — benchmarked at 10.4x faster than the next database on the full Wikidata dump.

View details
86
Repo Health
74
Technical
65
Dependency
Built with
Rust100%
Updated yesterday
Rust
93%
Apache 2.0

helix-db

Databases

5,803

A graph-vector database built from scratch in Rust that unifies graph traversal, vector search, key-value, and relational storage into a single platform for AI applications.

View details
85
Repo Health
80
Technical
81
Dependency
Built with
Rust93%
Updated today
TypeScript
67%
MIT

Hoppscotch

Developer Tools

80,055

A lightweight, offline-capable API development ecosystem for testing HTTP, GraphQL, WebSocket, MQTT, and SSE endpoints across web, desktop, and CLI.

View details
91
Repo Health
83
Technical
66
Dependency
Built with
TypeScript67%
Vue23%
Updated 3 days ago
Rust
36%
Apache 2.0

LanceDB

Databases · AI Development

11,190

Open-source, embedded vector database built on the Lance columnar format for fast multimodal search across billions of vectors, backed by Y Combinator (W23).

View details
90
Repo Health
86
Technical
72
Dependency
Built with
Rust36%
HTML30%
Python26%
Updated today
JavaScript
57%
Other

Lokus

Note Taking · Knowledge Management

774

Local-first note-taking with graph view, canvas & AI plugins—your Markdown files, zero telemetry, blazing-fast Rust performance.

View details
78
Repo Health
75
Technical
65
Dependency
Built with
JavaScript57%
HTML24%
Updated 1 weeks ago
Rust
100%
Other

Meilisearch

Search

59,012

Lightning-fast hybrid search engine with AI-powered semantic and full-text retrieval for modern applications.

View details
90
Repo Health
88
Technical
68
Dependency
Built with
Rust100%
Updated 5 days ago
Rust
72%
Apache 2.0

mesh-llm

AI Development · AI Agents

3,258

Mesh LLM pools GPUs and memory across every machine you own into one OpenAI-compatible API, so agents tap distributed compute instead of a single GPU box or a metered cloud bill.

View details
83
Repo Health
91
Technical
70
Dependency
Built with
Rust72%
TypeScript16%
Updated today
TypeScript
91%
GPL 3.0

NoteGen

Note Taking · Knowledge Management · AI Assistants

12,657

Capture anything first, then let AI transform your scattered records into polished, structured Markdown notes with RAG-powered knowledge retrieval.

View details
87
Repo Health
74
Technical
68
Dependency
Built with
TypeScript91%
Updated today

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search