urlencoding

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

Library
Cargo
v2.1.3
78 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
29 /100 Needs Attention
Development Activity 0
Maintenance 0
Community 36
Maturity 60
Momentum 20

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
74 /100 Good
Architecture 75
Code Quality 82
Innovation 45
Learning Curve 95

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 23 apps in this directory

TypeScript
67%
Apache 2.0

tabularis

Databases · Developer Tools

5,076

Open-source desktop SQL workspace with built-in PostgreSQL, MySQL, and SQLite drivers, SQL notebooks, a visual query builder, and a built-in MCP server for AI agents like Claude and Cursor.

View details
83
Repo Health
89
Technical
70
Dependency
Built with
TypeScript 67%
Rust 32%
Updated 1 weeks ago
Rust
64%
Apache 2.0

Temps

Analytics · Devops · Monitoring

801

A self-hosted Rust PaaS that replaces Vercel, Sentry, PostHog, Pingdom, Resend, and E2B with one binary — plus 440+ CLI operations agents like Claude Code can drive directly.

View details
81
Repo Health
86
Technical
70
Dependency
Built with
Rust 64%
TypeScript 34%
Updated 1 weeks ago
Rust
79%
Apache 2.0

TensorZero

Ab Testing Experimentation · AI Development · Monitoring

11,717

TensorZero unifies the LLM gateway, observability, evaluation, optimization, and experimentation stack behind a single OpenAI-compatible API, built in Rust for sub-millisecond p99 latency.

View details
53
Repo Health
87
Technical
69
Dependency
Built with
Rust 79%
TypeScript 15%
Updated 4 months ago
Rust
50%
Apache 2.0

Vibe Kanban

AI Agents · AI Code Assistants · Project Management

28,209

A kanban board for planning work and dispatching Claude Code, Codex, Gemini CLI, and eight other coding agents into isolated git worktrees, then reviewing and merging their diffs from one UI.

View details
75
Repo Health
75
Technical
64
Dependency
Built with
Rust 50%
TypeScript 46%
Updated 2 weeks ago
Rust
32%
Other

Windmill

Automation · Developer Tools

18,043

Turn scripts into webhooks, workflows, and auto-generated UIs — the fastest self-hostable workflow engine, 13x faster than Airflow.

View details
91
Repo Health
82
Technical
65
Dependency
Built with
Rust 32%
TypeScript 24%
Svelte 22%
Updated 1 weeks ago

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