Skip to content

MediatR alternatives compared ​

Since version 13, MediatR is no longer under an open-source-only license, and many teams are looking at the alternatives. This page compares the ones most often suggested, from their own documentation and NuGet packages. It is written by the AnyMediator project, so check the sources at the end for anything that matters to your decision.

Facts as of November 2026.

MediatR's license today ​

  • Versions 13.0.0 and later are dual licensed: the Reciprocal Public License 1.5, a copyleft license that requires releasing your own source under the same terms, or Lucky Penny Software's commercial license.
  • The Community edition is free for organizations with gross annual revenue under $5 million that never received more than $10 million in outside capital. Government agencies are not eligible. It requires registering for a license key.
  • Paid tiers are priced per number of developers.
  • Without a valid key MediatR keeps working and logs a warning; there is no license server.
  • Versions up to 12.5.0 remain Apache-2.0 and can be used indefinitely, but receive no updates.

At a glance ​

AnyMediatorFreeMediatorMediatRMediatorLiteBusWolverine
LicenseApache-2.0MITRPL-1.5 or commercialMITMITMIT
Same API as MediatRYes, namespace AnyMediatorYes, namespace FreeMediator—Similar names; ValueTask, different delegates, singleton by defaultNo (ICommand, IQuery, IEvent)No (convention-based handlers)
DispatchGeneric wrappers built once per message typeReflection and Reflection.EmitRuntime reflectionSource generatorReflection at registrationCode generated at startup or ahead of time
Stream requestsYesNoYesYesYesYes
Pipeline behaviorsYesYes, also for notificationsYesYesPre/post/error stages insteadMiddleware
Pre/post-processorsYesNoYesYesYesThrough middleware
Exception handlers and actionsYesNoYesYesYesError policies
Notification strategiesSequential, parallel, continue on exception, plus sinksSequentialSequential, parallelSequential, parallelSequential or parallel, by priorityLocal queues
TracingOpenTelemetry spans and metricNot documentedNot built inIn 3.1 (pre-release)Not documentedYes
Native AOTNot supportedNot documented (uses Reflection.Emit)Not advertisedYesNot documentedIn progress
Targets.NET 8, .NET 10.NET 10.NET Framework 4.6.2, .NET Standard 2.0, .NET 8–10.NET Standard 2.0, .NET 8.NET 10.NET 9, .NET 10

Which one to choose ​

  • Keep MediatR if your organization qualifies for the Community edition or is happy to pay for a license and support from its author.
  • AnyMediator if you want to leave MediatR without touching handlers: same type names and configuration API, all of MediatR's features including streams, processors and exception handlers, Apache-2.0 with no key. Migration is a package, a namespace and the registration call.
  • FreeMediator for a close MediatR clone on .NET 10 when you do not need streams, processors or exception handlers.
  • Mediator if raw speed or Native AOT matters most, thanks to its source generator. Expect to adapt behaviors to ValueTask and its delegate types.
  • Wolverine if you also want messaging, queues and durable outboxes: it is a framework rather than a mediator library, with its own handler conventions.
  • LiteBus if you prefer separate command, query and event mediators and are on .NET 10.

For speed numbers measured on the same machine, see Performance: AnyMediator is on par with MediatR for Send and faster for Publish, while Mediator's source generator is an order of magnitude faster than both.

Sources ​


AnyMediator is an independent project. It is not affiliated with or endorsed by MediatR, Jimmy Bogard, Lucky Penny Software or the other projects on this page.