Screenshot 1 of 1. MinecraftHub-generated editorial cover for CustomSkinLoader, a Minecraft Java skin-loading mod
What CustomSkinLoader works with.
| Platform | Java Edition |
|---|---|
| Loaders | Fabric, Forge, NeoForge, Quilt |
| Minecraft versions | 1.8, 1.12.2, 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.8, 1.21.11, 26.1, 26.2 |
| Environment | Client |
CustomSkinLoader is a client-side Minecraft Java mod that loads skins, capes, and elytra textures from a configurable list of skin servers instead of relying on the default Mojang lookup alone. It ships as a single Universal jar for Fabric, Forge, NeoForge, and Quilt-compatible Fabric Loader setups, with the current 15.0.1 build reaching Minecraft 26.2 on every one of those loaders. New to custom skins altogether? The Minecraft skin install guide covers the basics for both editions first.
Supported skin sources and load order
The mod checks a load list of skin APIs in order and uses the first one that returns a result for a given player. Out of the box that list includes Mojang's official API, LittleSkin and BlessingSkin (CustomSkinAPI), Ely.by-compatible ElyByAPI servers, Glitchless, plus cape-only sources such as MinecraftCapes, OptiFine capes, and Cloaks+. Server owners running a compatible skin service can publish an ExtraList file so players add their server to the load list without editing config by hand. Since CustomSkinLoader is client-side only, a server that wants to assign skins to everyone connecting, regardless of what each player has installed, needs a server-side option such as SkinsRestorer instead.
Installing CustomSkinLoader
- Download the CustomSkinLoader_Universal jar for your Minecraft version from the Modrinth page.
- Drop it into your mods folder alongside your loader of choice: Fabric, Forge, NeoForge, or a Quilt build using the Fabric Loader compatibility layer.
- No other mod is required. The latest 15.0.1 Universal build lists no hard or optional dependencies.
- Launch the game once to generate the .minecraft/CustomSkinLoader folder, where the load list and local skin files live.
Why a skin changed itself or stopped loading
A skin that changes on its own, or stops loading, almost always traces back to the load order. If a player is registered on more than one source in the list, whichever source comes first wins, so a change on that earlier service overrides one made on a lower-priority service. CustomSkinLoader also caches profiles so skins keep showing when a skin server is briefly unreachable; once the cache refreshes against a live source, the displayed skin can flip back. A local skin file placed under CustomSkinLoader/LocalSkin always takes priority over any online source for that username, which is the usual cause of a skin that will not update no matter what changes online.
Version support by loader
The 15.0.1 Universal build, released June 2026, declares support from 1.8 through 26.2 on Fabric, Forge, NeoForge, and Quilt-compatible Fabric Loader environments alike. That wide, identical range across every loader is because the bootstrap jar detects the active loader and Minecraft mapping namespace at runtime and applies loader-specific class patches, rather than shipping a separate jar per loader and version. It replaces the older edition-specific jars from previous CustomSkinLoader releases. Players who want the loaded skin's jacket, hat, and pants layers to render with real 3D depth instead of flat can pair it with 3D Skin Layers, which changes how a skin renders rather than where it comes from.
Questions about CustomSkinLoader.
4 questions
How do I install CustomSkinLoader?
Download the CustomSkinLoader_Universal jar that matches your Minecraft version from Modrinth and place it in your mods folder for Fabric, Forge, NeoForge, or a Quilt setup using the Fabric Loader compatibility layer. The latest 15.0.1 build needs no other mod installed alongside it.
How do I change or add a skin source in CustomSkinLoader?
Edit the load list in the CustomSkinLoader config folder to reorder or add skin APIs such as LittleSkin, BlessingSkin, or Ely.by-based servers. A skin server owner can also publish an ExtraList JSON file that players drop into CustomSkinLoader/ExtraList to add that server without manual config edits.
Why did my skin change itself or stop loading?
This usually means the player is registered on more than one skin source, and the one listed first in the load order is overriding a change made elsewhere. A profile cache can also briefly show an older skin when a source is unreachable, and a local skin file always overrides any online source for that username.
Does CustomSkinLoader need Fabric API or another dependency?
No. The current 15.0.1 Universal build lists no required or optional dependencies on Modrinth, so it installs on its own alongside your loader of choice.








