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
149
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
154
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
172
AutoMapper.Extensions.Microsoft.DependencyInjection
AutoMapper extensions for ASP.NET Core
1,040
DHP.Core
Package Description
166
DHP.Core
Package Description
262
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
147
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
148
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
149
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
150
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
151
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
153
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
154
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
157
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
159
Duende.IdentityServer.EntityFramework.Storage
EntityFramework persistence layer for Duende IdentityServer
161
Nuke.Common
Cross-platform build automation system
148

Version Downloads Last updated
16.1.1 33 03/13/2026
16.1.0 24 03/05/2026
16.0.0 71 12/04/2025
16.0.0-beta-1 61 11/21/2025
15.1.3 21 03/18/2026
15.1.2 28 03/17/2026
15.1.1 28 03/16/2026
15.1.0 100 10/24/2025
15.0.1 108 07/11/2025
15.0.0 88 07/03/2025
14.0.0 468 02/16/2025
13.0.1 544 02/13/2024
12.0.1 557 02/04/2024
12.0.0 150 02/04/2024
11.0.1 132 07/22/2024
11.0.0 178 02/04/2024
10.1.1 174 02/09/2024
10.0.0 121 07/13/2024
9.0.0 119 07/22/2024
8.1.1 115 07/22/2024
8.1.0 129 07/22/2024
8.0.0 114 07/22/2024
7.0.1 146 07/22/2024
7.0.0-alpha-0001 142 07/22/2024
6.2.2 154 07/22/2024
6.2.1 117 07/22/2024
6.2.0 121 07/22/2024
6.1.1 127 07/22/2024
6.1.0 132 07/22/2024
6.0.2 114 07/18/2024
5.2.0 140 07/22/2024
5.1.1 123 07/18/2024
5.0.2 138 07/22/2024
5.0.0-beta-1 140 07/22/2024
4.2.1 122 07/22/2024
4.2.0 145 07/22/2024
4.1.1 124 07/22/2024
4.0.4 127 07/22/2024
4.0.0-alpha1 135 07/22/2024
3.3.1 123 07/22/2024
3.3.0 127 07/22/2024
3.2.1 124 07/22/2024
3.1.1 149 07/22/2024
3.1.0 143 07/22/2024
3.0.0 127 07/22/2024
2.2.1 130 07/22/2024
2.2.0 125 07/22/2024
2.1.267 115 07/22/2024
2.1.266 118 07/22/2024
2.1.265 132 07/22/2024
2.1.262 148 07/22/2024
2.1.1 124 07/22/2024
2.0.0 142 07/22/2024
1.1.2 131 07/22/2024
1.1.0.118 130 07/22/2024