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" />
                    
Directory.Packages.props
<PackageReference Include="Philiprehberger.UrlCleaner" />
                    
Project file
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
                    
#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
                    
Install as a Cake Addin
#tool nuget:?package=Philiprehberger.UrlCleaner&version=0.1.10
                    
Install as a Cake Tool

Philiprehberger.UrlCleaner

CI NuGet Last updated

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:

Star the repo

🐛 Report issues

💡 Suggest features

❤️ Sponsor development

🌐 All Open Source Projects

💻 GitHub Profile

🔗 LinkedIn Profile

License

MIT

Product 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.

Version Downloads Last Updated
0.1.10 105 5/15/2026
0.1.9 110 4/1/2026
0.1.8 108 3/25/2026
0.1.7 110 3/23/2026
0.1.6 104 3/23/2026
0.1.5 110 3/20/2026
0.1.4 118 3/16/2026
0.1.3 106 3/16/2026
0.1.2 114 3/16/2026
0.1.1 121 3/11/2026
0.1.0 114 3/11/2026