Learn · concepts
Yarn vs Mojmap: Minecraft Mappings Compared (2026)
Yarn vs Mojmap explained: how the two Minecraft mapping sets differ on naming, licensing, and tooling, and which one to pick for a Fabric mod.
Yarn vs Mojmap: What's the Difference?
Yarn is community-named, open-source mapping for Fabric that ships descriptive names and full method parameters. Mojmap is Mojang's own official naming, published with every release since 1.14.4. Pick Yarn if you want a free, well-documented naming scheme with parameter names and javadoc. Pick Mojmap if you want names that match Mojang's own and never drift.
The choice isn't about which one is right—both are correct. It's about which naming convention your project should follow and which ecosystem you're building inside.
What each one is
Yarn is a mapping set maintained by FabricMC. Volunteers assign readable names to the obfuscated classes, fields, and methods in Minecraft, and those names sit on top of the stable Intermediary layer so they can be renamed without breaking compiled mods.
Mojmap is the official mapping table Mojang publishes alongside every release from 1.14.4 onward. The names come straight from Mojang's own source, so they match what the developers call things internally. It replaced MCP and Searge as the default for any new project targeting modern versions.
Obfuscated names
Minecraft ships obfuscated: classes named a.a.a, methods named b, c, d.
Yarn or Mojmap map those
Each mapping set translates a.a.a to EntityPlayer, b to move, c to attack.
Your mod uses one or the other
You write code against Yarn or Mojmap names, not the obfuscated ones.
Stable layer underneath
Intermediary (for Yarn) or the obfuscation map (for Mojmap) keeps compiled mods compatible across renames.
How they differ
The split comes down to who picks the names and how the license treats them. Yarn names are chosen by the community and are free to use and share. Mojmap names are Mojang's, and the license has historically been generous about compile-time use but more careful about redistribution. Modern loaders handle that for you.
| Yarn | Mojmap | |
|---|---|---|
| Who names things | FabricMC community | Mojang (official) |
| First available | Fabric era | 1.14.4 onward |
| Method parameters | Named and documented | Often missing |
| Licensing | Open, free to share | Permissive at compile time |
| Stable layer underneath | Intermediary | Obfuscation map per release |
| Best fit | Fabric mods wanting docs | Projects matching Mojang source |
Yarn shines when you want to understand what a method does without reading decompiled code. Method parameters are named (entity, velocity, damage) and often carry javadoc. Mojmap shines when you're cross-referencing Mojang's own source or working with developers familiar with the official names.
Which to choose
Choose Yarn if you build on Fabric and want descriptive names, named method parameters, and inline documentation. It is the long-standing default for the Fabric ecosystem, and most third-party mods target it.
Choose Mojmap if you want names that match Mojang's own source, plan to share code with people on other loaders, or are targeting 1.21 or later where official mappings are the common baseline. If you're learning from Mojang's own decompiled source or working with multiple loader types, Mojmap keeps you aligned.
Many Fabric projects now build against a Mojmap base and apply Yarn remappings on top, so you do not always have to pick just one. Your build tooling can layer them.
How they connect to other mappings
Both sit in a longer history. Before Mojang published mappings, the modding scene used MCP and Searge to reverse the obfuscated names. From 1.14.4, Mojmap made official naming available, and Yarn grew as the open Fabric alternative layered over Intermediary. The Intermediary layer is what keeps mods compatible across mapping renames.
Yarn and Mojmap in practice
If you're starting a new Fabric mod and don't have a reason to prefer Mojmap, Yarn is the safe default. The ecosystem defaults to it, documentation targets it, and the community-maintained names often include helpful descriptions.
If you're maintaining a library that other loaders depend on, or if you're sharing code with Forge modders (who often prefer Mojmap), Mojmap makes sense. The official names are a common ground.
If you're not sure, use Yarn. You can always switch later, and the tooling to migrate exists. The mapping itself is a detail; the important part is writing a good mod.
FAQ
Both work on Fabric. Yarn has been the ecosystem default and ships named parameters plus documentation, while Mojmap matches Mojang's own names. Choose by which naming and tooling your team prefers.
No. The obfuscated names look like a.a.a. Mojmap maps those to the readable names Mojang uses internally, published per release.
Yes, in a sense. Some Fabric setups build on a Mojmap base and apply Yarn remappings, so the two coexist in one toolchain rather than competing directly.
Both made MCP and Searge obsolete for new work from 1.14.4 onward. Older 1.7 to 1.12 projects still rely on MCP naming.