macOS
brew install trurllocal Homebrew formula metadata
sudo port install trurlMacPorts ports tree · net/trurl/Portfile · source: api.github.com
brew / rank 7677
Command-line tool for URL parsing and manipulation. Version 0.16.1 via Homebrew; verified from local package data. Also installable with debian: sudo apt install trurl.
install
brew install trurllocal Homebrew formula metadata
sudo port install trurlMacPorts ports tree · net/trurl/Portfile · source: api.github.com
sudo apk add trurlAlpine Linux edge package indexes · trurl · source: dl-cdn.alpinelinux.org
sudo apt install trurlDebian stable package indexes · trurl · source: deb.debian.org
sudo dnf install trurlFedora Rawhide package metadata · trurl · source: dl.fedoraproject.org
nix profile install nixpkgs#trurlnixpkgs package indexes · pkgs/by-name/tr/trurl/package.nix · source: api.github.com
sudo pacman -S trurlArch Linux sync databases · trurl · source: geo.mirror.pkgbuild.com
sudo zypper install trurlopenSUSE Tumbleweed package metadata · trurl · source: download.opensuse.org
winget install --id cURL.trurl -eWindows Package Manager source index · cURL.trurl · source: cdn.winget.microsoft.com
overview
Command-line tool for URL parsing and manipulation
history
trurl is a curl-adjacent command-line tool for parsing, normalizing, extracting, and modifying URLs using libcurl's URL parser.
Daniel Stenberg introduced trurl in April 2023 as a small command-line tool in the spirit of Unix 'tr', but for URLs. He wrote that it was created on March 31, 2023 to help shell script authors avoid repeatedly inventing unsafe or inconsistent URL parsing.
The curl project page positions trurl as a companion to curl: it uses libcurl's URL parser, so it understands URLs the same way curl does. That makes it especially useful in scripts that already rely on curl and need to manipulate URLs before passing them to other tools.
The GitHub repository stayed intentionally compact: C source, tests, a man page, release notes, and compatibility notes around libcurl versions. Releases on curl.se and GitHub turned it from a fresh helper into a packaged utility available through Homebrew and multiple Unix distributions.
trurl was adopted in the curl ecosystem because URLs are deceptively hard to parse correctly in shell. Instead of sed, awk, cut, or hand-rolled regular expressions, users can ask trurl for structured URL parts, normalized URLs, redirects, query edits, or JSON output.
Its package-manager spread is unusually broad for a young utility: the input package facts list Homebrew, Debian, Ubuntu, Fedora, Alpine, Arch, Nix, MacPorts, and openSUSE-style packages, matching its role as a small Unix command that distribution maintainers can ship easily.
trurl can change hosts, schemes, ports, paths, query strings, and fragments; append path or query components; trim tracking parameters; sort query pairs; handle redirects; read URLs from files or stdin; and emit JSON for scripts.
For package nerds, the appeal is that trurl is a purpose-built URL transformer that composes cleanly with curl, xargs, shell pipelines, package build scripts, and CI jobs without pulling in a heavier language runtime.
trurl is significant because it packages a common but error-prone scripting task into a tiny, curl-family binary. It is the sort of tool that shows up in dotfiles, release scripts, URL cleanup jobs, and packaging automation once people stop trusting ad hoc regex parsing.
Its libcurl dependency also matters: package maintainers can reason about its URL behavior in terms of the same parser used by curl, while its compatibility table documents which libcurl versions enable which features.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
trurl | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:trurl |
|---|---|
| Version | 0.16.1 |
| Package manager | Homebrew |
| Homepage | https://curl.se/trurl/ |
| Repository | https://github.com/curl/trurl |
| Bottle | not recorded |
| Service | none declared |
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
trurl 0.16.1-1
command line tool for URL parsing and manipulation
sudo apt install trurltrurl
nix profile install nixpkgs#trurltrurl 0.9-1build2
command line tool for URL parsing and manipulation
sudo apt install trurltrurl 0.16.1-r1
command line tool for URL parsing and manipulation
sudo apk add trurltrurl-doc 0.16.1-r1
command line tool for URL parsing and manipulation (documentation)
sudo apk add trurl-doctrurl 0.16.1-6.fc45
Command line tool for URL parsing and manipulation
sudo dnf install trurltrurl 0.16.1-1
Command line tool for URL parsing and manipulation
sudo pacman -S trurltrurl 0.16.1-4.3
Command line tool for URL parsing and manipulation
sudo zypper install trurltrurl-zsh-completion 0.16.1-4.3
Zsh Completion for trurl
sudo zypper install trurl-zsh-completiontrurl
sudo port install trurlcURL.trurl
winget install --id cURL.trurl -esource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.