oneimage

ImageSharp license in 2026: who pays and who needs a key

The Six Labors Split License, read clause by clause: when ImageSharp is free under Apache 2.0, when a paid license applies, and the build key in 3.2.0 and 4.x.

The ImageSharp license has been the Six Labors Split License since ImageSharp 3.0.0. You get ImageSharp under Apache 2.0 if your software is open source or source-available, if ImageSharp only reaches you through another package, if you are a for-profit company or individual under 1M USD in annual gross revenue, or if you are a non-profit or registered charity. Everyone else (closed-source software that references ImageSharp directly, made by a business at or above 1M USD) needs a paid Six Labors Commercial Use License, which runs from $799 to $4,999 a year. Since ImageSharp 4.0.0, and now 3.2.0, a license key is also checked when you build. Without one, our Release builds failed.

This page sets out what the license text says, what the key enforcement changes in practice, and what your options are. It describes the vendor’s published documents as we read them on 22 October 2026. It is not legal advice, so read the texts linked here and ask Six Labors about your own situation.

The short answer

Your situationLicense you getKey needed to build 3.2.0 or 4.x?
Open source or source-available projectApache 2.0Yes: a free community key, by application
ImageSharp arrives as a transitive dependency of another packageApache 2.0 (and that package’s terms)No: enforcement applies to direct references only
For-profit company or individual under 1M USD annual gross revenue, direct referenceApache 2.0Yes: a free community key, by application
Non-profit organization or registered charityApache 2.0Yes: a free community key, by application
For-profit business at or above 1M USD, closed-source software, direct referenceSix Labors Commercial Use License (paid)Yes: the key that comes with the subscription

Sources: the license conditions are in Six Labors’ License Changes post (16 July 2022), and the key rules are in the License Enforcement Changes post (4 September 2025), the Security Support and License Enforcement post (9 October 2026) and the pricing page.

What the Six Labors Split License says

The Split License (Version 1.0, June 2022) covers ImageSharp from v3.0.0, ImageSharp.Web from v3.0.0, ImageSharp.Drawing from v2.0.0 and Fonts from v2.0.0. ImageSharp 2.x stays under Apache 2.0, and NuGet lists 2.1.13 with the Apache-2.0 expression. The core grant reads:

Works in Source or Object form are licensed to You under the Apache License, Version 2.0 if.

- You are consuming the Work in for use in software licensed under an Open Source or Source Available license.
- You are consuming the Work as a Transitive Package Dependency.
- You are consuming the Work as a Direct Package Dependency in the capacity of a For-profit company/individual with less than 1M USD annual gross revenue.
- You are consuming the Work as a Direct Package Dependency in the capacity of a Non-profit organization or Registered Charity.

For all other scenarios, Works in Source or Object form are licensed to You under the Six Labors Commercial License …

Two definitions decide most cases:

The revenue test is about the organization, not the project. The 2022 FAQ says the paid license applies when “your annual gross revenue is greater than or equal to 1M USD and you are consuming any of the libraries for use in Closed Source software as a ‘Direct Package Dependency.’” An internal tool at a large company is closed-source software in that sense. Whether a particular arrangement counts, such as a contractor building for a client or a subsidiary of a larger group, is a question for the license text and for Six Labors ([email protected]).

How much a commercial license costs

One commercial license covers the whole suite: ImageSharp, ImageSharp.Drawing, ImageSharp.Web, Fonts and PolygonClipper. Tiers are flat rates by the number of developers the purchasing entity employs, not per seat, per deployment or per API call. Prices from the pricing page, read 22 October 2026:

TierDevelopersMonthlyAnnual
BoutiqueUp to 10$80$799
Agency11 to 20$130$1,299
EnterpriseUnlimited$520$4,999
CommunityUnlimited, for eligible applicantsFree, by application at licensing.sixlabors.com

Developer limits count “the number of developers currently employed by the purchasing entity, not individual teams or departments.” Every purchase has a 30-day money-back guarantee. The license itself is on the Six Labors Commercial Use License page (labeled Version 2.0, June 2022). It grants use for one year per fee, and it covers unlimited applications and royalty-free redistribution in packaged products.

The build-time license key in ImageSharp 3.2.0 and 4.x

For years the Split License was enforced only by its terms. That changed in three steps:

  1. 4 September 2025. Six Labors announced a build-time license key for future major releases: ImageSharp 4.0.0, ImageSharp.Drawing 3.0.0, ImageSharp.Web 4.0.0, Fonts 3.0.0 and PolygonClipper 1.0.0.
  2. 12 May 2026. ImageSharp 4.0.0 shipped with the check. The current release is 4.1.3 (9 October 2026), targeting net8.0.
  3. 9 October 2026. Enforcement was extended to new releases of supported older majors. For v3 that is ImageSharp 3.2.0.

Six Labors is explicit that this is “not a license change”: v3 and v4 use the same Split License, and the key “makes that requirement enforceable during the build.” Enforcement applies to direct references only. The key is needed even when you qualify for Apache 2.0. In that case you apply for a free community key instead of buying one.

What happens without a key

We added ImageSharp 3.2.0 and, separately, 4.1.3 to a new .NET 10 console project with no key (.NET SDK 10.0.400). In both cases dotnet build in Debug succeeded with this warning:

dotnet buildDebug
warning : No Six Labors license found. This Debug build can continue, but Release builds require a valid license.

A Release build (dotnet build -c Release or dotnet publish -c Release) failed:

dotnet publish -c ReleaseRelease
error : No Six Labors license found. Set $(SixLaborsLicenseKey), set $(SixLaborsLicenseFile), or add a 'sixlabors.lic' file to the project/workspace.

So local development keeps working, and your CI release pipeline is where a missing key shows up. The pricing FAQ adds that when a license expires, “you will no longer be able to build the software.”

Configuring the key

Six Labors issues a sixlabors.lic file. Per the ImageSharp documentation, the build looks for it from each project directory, or you point to it with an MSBuild property:

MyApp.csprojfrom the Six Labors docs
<PropertyGroup>
  <SixLaborsLicenseFile>path/to/sixlabors.lic</SixLaborsLicenseFile>
</PropertyGroup>

For CI, the docs show reading the complete license string from an environment variable instead:

MyApp.csprojfrom the Six Labors docs
<PropertyGroup>
  <SixLaborsLicenseKey>$(SIXLABORS_LICENSE_KEY)</SixLaborsLicenseKey>
</PropertyGroup>

Community keys for open-source projects can be assembly-scoped. You register the exact AssemblyName of every project that references a Six Labors package, test projects included, and that key may then be committed to the public repository for contributors and CI. Unrestricted community keys and commercial keys must stay private. Keys expire and are renewed in the final 90 days before expiry.

Can you stay on ImageSharp 3.1.12?

ImageSharp 3.1.12 (29 October 2025) is the last v3 release before 3.2.0, and it builds without a key: our Release build of the same project on 3.1.12 succeeded. Before relying on that, weigh three facts:

ImageSharp 2.1.x is Apache 2.0 with no key, but the same advisories list 2.x versions as affected, and Six Labors names patched releases only for v3 and v4.

How to check whether you reference ImageSharp directly

Both the license and the key check turn on direct versus transitive references. From your solution directory, the .NET CLI tells you which you have:

Terminal.NET CLI
dotnet list package --include-transitive

A direct reference appears under Top-level Package, and one that arrives through another package appears under Transitive Package:

Output.NET SDK 10.0.400
Project 'MyApp' has the following package references
   [net10.0]:
   Top-level Package           Requested   Resolved
   > SixLabors.ImageSharp      3.1.12      3.1.12

Run it per project in a multi-project solution: the key check and the license definitions apply to each project that references the package, test projects included.

Your options

OneImage is one of those options. It is licensed MIT OR Apache-2.0 for everyone, with no revenue test, no commercial tier and no build key, and it is pure C# with no native binaries. It reads and writes PNG, JPEG, WebP, GIF, TIFF, BMP and ICO (with add-on packages for SVG and Photoshop files), and it targets .NET 10 only. Loading, resizing and saving looks like this in version 1.5.0:

Program.cs.NET 10
using OneImage;

// Upright (EXIF orientation is applied at load), 600 px wide, WebP.
Image.Load("input.jpg").Resize(width: 600).Save("output.webp");

// Web-ready copy: upright, sRGB, EXIF/XMP/IPTC (and so GPS) removed.
Image.Thumbnail("input.jpg", 600).Save("thumb.webp");

If you are weighing a move, our migration walkthrough and the project’s migration guide map ImageSharp calls to OneImage side by side, and the comparison says where ImageSharp or another library is the better fit.