On this page
Overview
AutoMapper is a .NET object-to-object mapping library. It lets applications declare source-to-destination type maps with CreateMap and centralize repetitive property-assignment code used for DTOs and similar models.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Declare type maps instead of repeating property assignments
CreateMap<Source, Destination>() defines a mapping and mapper.Map<Destination>(source) executes it.
Sources: [1]
Integrate with DI and extensibility points
It integrates with IServiceCollection and supports resolvers, converters, conditions, and mapping actions for specialized conversions.
Sources: [1]
Best fit
Fits repetitive mappings between structurally similar .NET models
It is most useful when applications have many DTO, API, or view-model transformations with largely corresponding members.
Sources: [1]
Before adoption
Validate mapping configuration during development
The README demonstrates AssertConfigurationIsValid() for development-time validation; complex conversions should also be covered by explicit tests.
Sources: [1]
Version 16 requires a licensing and license-key decision
LICENSE.md describes RPL 1.5 terms and points users who do not want to release their software under those terms to a commercial License Agreement. The README also documents license-key configuration, so organizational use should review the applicable path.
Official sources
- [1]AutoMapper v16.2.0 README(2026-10-03)
- [2]AutoMapper v16.2.0 LICENSE.md(2026-10-03)
- [3]AutoMapper v16.2.0 release(2026-10-03)
Supplemental curator note
AutoMapper can remove repetitive DTO mapping code, but complex business rules should not disappear into opaque mapping configuration. Version 16 adoption should also include license-key setup and a review of the applicable license path.
Try it in 3 steps
- 1
Add AutoMapper 16.2.0 to a .NET project
Pin the stable release in the target project and review the applicable licensing terms before use.
dotnet add package AutoMapper --version 16.2.0 - 2
Register the license key and type map
Follow the README DI example to configure the license key and source-to-destination mapping.
services.AddAutoMapper(cfg => { cfg.LicenseKey = "<LICENSE_KEY>"; cfg.CreateMap<Foo, FooDto>(); }); - 3
Map an object to the destination type
Execute the registered map. During development, also validate configuration with AssertConfigurationIsValid().
var fooDto = mapper.Map<FooDto>(foo);
Growth
Growth trends · Last 30 days
10,186 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 9
- Open PRs
- 2
Development activity is still being collected.
Built with
Categories and tags
Categories
Tags
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 10,186
- Forks
- 2,400
- Watchers
- 369
- Open issues
- 12
- Contributors
- 152
- Owner type
- Organization
- Primary language
- C#
- License
- Not determined
- Repository last updated
- Sep 9, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Playwright97,021 Stars
1 shared tag(s) · 1 shared category(s)
Drive Chromium, Firefox, and WebKit through one API and test runner for E2E, scripting, and agent browser automation
TypeScript - uv90,402 Stars
1 shared tag(s) · 1 shared category(s)
manage Python versions, environments, dependencies, lockfiles, tools, and publishing through one fast project CLI
Rust - Cline69,770 Stars
1 shared tag(s) · 1 shared category(s)
an open-source coding agent sharing one core across IDEs, CLI, desktop, and SDK
TypeScript - GitHub CLI46,522 Stars
1 shared tag(s) · 1 shared category(s)
work with pull requests, issues, repositories, and the GitHub API through
Goghas part of terminal-first development workflows - Docker Compose38,280 Stars
1 shared tag(s) · 1 shared category(s)
Define services, networks, volumes, and builds in compose.yaml and run them as one multi-container Docker application
Go - Grok Build27,213 Stars
1 shared tag(s) · 1 shared category(s)
Run file edits, shell tools, MCP, and subagents from one Rust coding-agent runtime across TUI, headless, and ACP modes
Rust
Report incorrect information
Tell us if any listing information is incorrect or outdated.