AutoMapper 16.1.1

AutoMapper

CI NuGet Documentation Status

What is AutoMapper?

AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?

This is the main repository for AutoMapper, but there's more:

How do I get started?

First, configure AutoMapper to know what types you want to map, in the startup of your application:

var configuration = new MapperConfiguration(cfg => 
{
    cfg.CreateMap<Foo, FooDto>();
    cfg.CreateMap<Bar, BarDto>();
}, loggerFactory);

// or more typically, using IServiceCollection with automatic service registration
services.AddAutoMapper(cfg => 
{
    cfg.CreateMap<Foo, FooDto>();
    cfg.CreateMap<Bar, BarDto>();
});
// AutoMapper will automatically register any implementations of:
// - IValueResolver<TSource, TDestination, TDestMember>
// - IMemberValueResolver<TSource, TDestination, TSourceMember, TDestMember>
// - ITypeConverter<TSource, TDestination>
// - IValueConverter<TSourceMember, TDestinationMember>
// - ICondition<TSource, TDestination, TDestMember>
// - IPreCondition<TSource, TDestination>
// - IMappingAction<TSource, TDestination>
// from the provided assemblies

// only during development, validate your mappings; remove it before release
#if DEBUG
configuration.AssertConfigurationIsValid();
#endif
// use DI (http://docs.automapper.io/en/latest/Dependency-injection.html) or create the mapper yourself
var mapper = configuration.CreateMapper();

Then in your application code, execute the mappings:

var fooDto = mapper.Map<FooDto>(foo);
var barDto = mapper.Map<BarDto>(bar);

Check out the getting started guide. When you're done there, the wiki goes in to the nitty-gritty details. If you have questions, you can post them to Stack Overflow.

Where can I get it?

First, install NuGet. Then, install AutoMapper from the package manager console:

PM> Install-Package AutoMapper

Or from the .NET CLI as:

dotnet add package AutoMapper

Do you have an issue?

You might want to know exactly what your mapping does at runtime.

If you're still running into problems, file an issue above.

If you are a paying customer, you can contact support via your account.

How do I set the license key?

You can set the license key when registering AutoMapper:

services.AddAutoMapper(cfg => 
{
    cfg.LicenseKey = "<license key here>";
})

You can register for your license key at AutoMapper.io

Showing the top 20 packages that depend on AutoMapper.

Packages Downloads
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
140
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
141
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
162
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
974
DHP.Core
Package Description
139
DHP.Core
Package Description
157
DHP.Core
Package Description
249
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
135
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
136
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
137
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
138
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
139
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
140
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
142
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
150

Version Downloads Last updated
16.1.1 6 03/13/2026
16.1.0 11 03/05/2026
16.0.0 56 12/04/2025
16.0.0-beta-1 46 11/21/2025
15.1.1 1 03/16/2026
15.1.0 86 10/24/2025
15.0.1 94 07/11/2025
15.0.0 77 07/03/2025
14.0.0 455 02/16/2025
13.0.1 534 02/13/2024
12.0.1 520 02/04/2024
12.0.0 142 02/04/2024
11.0.1 124 07/22/2024
11.0.0 165 02/04/2024
10.1.1 160 02/09/2024
10.0.0 109 07/13/2024
9.0.0 111 07/22/2024
8.1.1 106 07/22/2024
8.1.0 117 07/22/2024
8.0.0 107 07/22/2024
7.0.1 137 07/22/2024
7.0.0-alpha-0001 130 07/22/2024
6.2.2 144 07/22/2024
6.2.1 108 07/22/2024
6.2.0 116 07/22/2024
6.1.1 119 07/22/2024
6.1.0 118 07/22/2024
6.0.2 103 07/18/2024
5.2.0 131 07/22/2024
5.1.1 110 07/18/2024
5.0.2 129 07/22/2024
5.0.0-beta-1 131 07/22/2024
4.2.1 115 07/22/2024
4.2.0 131 07/22/2024
4.1.1 118 07/22/2024
4.0.4 115 07/22/2024
4.0.0-alpha1 121 07/22/2024
3.3.1 116 07/22/2024
3.3.0 115 07/22/2024
3.2.1 116 07/22/2024
3.1.1 140 07/22/2024
3.1.0 132 07/22/2024
3.0.0 115 07/22/2024
2.2.1 117 07/22/2024
2.2.0 114 07/22/2024
2.1.267 109 07/22/2024
2.1.266 111 07/22/2024
2.1.265 122 07/22/2024
2.1.262 133 07/22/2024
2.1.1 115 07/22/2024
2.0.0 131 07/22/2024
1.1.2 125 07/22/2024
1.1.0.118 120 07/22/2024