AutoMapper 16.1.0

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
136
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
139
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
160
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
947
DHP.Core
Package Description
138
DHP.Core
Package Description
151
DHP.Core
Package Description
242
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
132
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
133
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
134
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
139
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
145

Version Downloads Last updated
16.1.0 2 03/05/2026
16.0.0 47 12/04/2025
16.0.0-beta-1 41 11/21/2025
15.1.0 85 10/24/2025
15.0.1 92 07/11/2025
15.0.0 76 07/03/2025
14.0.0 449 02/16/2025
13.0.1 530 02/13/2024
12.0.1 505 02/04/2024
12.0.0 140 02/04/2024
11.0.1 124 07/22/2024
11.0.0 163 02/04/2024
10.1.1 155 02/09/2024
10.0.0 107 07/13/2024
9.0.0 108 07/22/2024
8.1.1 105 07/22/2024
8.1.0 115 07/22/2024
8.0.0 106 07/22/2024
7.0.1 134 07/22/2024
7.0.0-alpha-0001 121 07/22/2024
6.2.2 139 07/22/2024
6.2.1 106 07/22/2024
6.2.0 115 07/22/2024
6.1.1 118 07/22/2024
6.1.0 117 07/22/2024
6.0.2 102 07/18/2024
5.2.0 128 07/22/2024
5.1.1 109 07/18/2024
5.0.2 127 07/22/2024
5.0.0-beta-1 130 07/22/2024
4.2.1 113 07/22/2024
4.2.0 130 07/22/2024
4.1.1 116 07/22/2024
4.0.4 114 07/22/2024
4.0.0-alpha1 116 07/22/2024
3.3.1 115 07/22/2024
3.3.0 115 07/22/2024
3.2.1 113 07/22/2024
3.1.1 133 07/22/2024
3.1.0 130 07/22/2024
3.0.0 114 07/22/2024
2.2.1 115 07/22/2024
2.2.0 111 07/22/2024
2.1.267 106 07/22/2024
2.1.266 107 07/22/2024
2.1.265 120 07/22/2024
2.1.262 126 07/22/2024
2.1.1 113 07/22/2024
2.0.0 127 07/22/2024
1.1.2 124 07/22/2024
1.1.0.118 117 07/22/2024