Philiprehberger.UrlCleaner
0.1.10
dotnet add package Philiprehberger.UrlCleaner --version 0.1.10
NuGet\Install-Package Philiprehberger.UrlCleaner -Version 0.1.10
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Philiprehberger.UrlCleaner" Version="0.1.10" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Philiprehberger.UrlCleaner" Version="0.1.10" />
<PackageReference Include="Philiprehberger.UrlCleaner" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Philiprehberger.UrlCleaner --version 0.1.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Philiprehberger.UrlCleaner, 0.1.10"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Philiprehberger.UrlCleaner@0.1.10
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Philiprehberger.UrlCleaner&version=0.1.10
#tool nuget:?package=Philiprehberger.UrlCleaner&version=0.1.10
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Philiprehberger.UrlCleaner
Remove tracking parameters from URLs — strip UTM tags, fbclid, gclid, and more.
Installation
dotnet add package Philiprehberger.UrlCleaner
Usage
using Philiprehberger.UrlCleaner;
// Clean a URL string
var clean = UrlCleaner.RemoveTracking(
"https://example.com/page?utm_source=newsletter&utm_medium=email&id=42");
// => "https://example.com/page?id=42"
// All default tracking params removed
UrlCleaner.RemoveTracking("https://example.com/?fbclid=abc&gclid=xyz&q=hello");
// => "https://example.com/?q=hello"
// With a Uri overload
var uri = new Uri("https://example.com/?ref=twitter&page=1");
UrlCleaner.RemoveTracking(uri);
// => "https://example.com/?page=1"
// Add extra params to strip
UrlCleaner.RemoveTracking(
"https://example.com/?custom_track=1&q=hi",
additionalParams: ["custom_track"]);
// => "https://example.com/?q=hi"
// Fragment is preserved
UrlCleaner.RemoveTracking("https://example.com/?utm_source=x#section");
// => "https://example.com/#section"
Custom Parameters
using Philiprehberger.UrlCleaner;
var url = "https://example.com/page?ref=twitter&session=abc123&id=42";
var clean = UrlCleaner.RemoveTracking(url, new[] { "session" });
// "https://example.com/page?id=42"
Uri Overload
using Philiprehberger.UrlCleaner;
var uri = new Uri("https://example.com/page?utm_source=google&utm_medium=cpc&q=test");
var clean = UrlCleaner.RemoveTracking(uri);
// "https://example.com/page?q=test"
API
UrlCleaner
| Method | Description |
|---|---|
RemoveTracking(string url, IEnumerable<string>? additionalParams = null) |
Strip tracking params from a URL string; returns the input unchanged if it is not a valid absolute URL |
RemoveTracking(Uri uri, IEnumerable<string>? additionalParams = null) |
Strip tracking params from a Uri |
Default tracking parameters removed:
utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid, gclid, msclkid, mc_eid, ref, _ga, _gl
Development
dotnet build src/Philiprehberger.UrlCleaner.csproj --configuration Release
Support
If you find this project useful:
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.