MC Toolkit

Guides / Troubleshooting

Converting .mrpack to a normal modpack zip — and why extractors fail

A .mrpack is a manifest, not an archive of mods. Unzipping it gives you a JSON file and no jars. Here is what is actually inside and what a converter has to do.

Rename a .mrpack to .zip, open it, and you find almost nothing: an modrinth.index.json, maybe an overrides/ folder. The mods are missing. This is not corruption — it is the format working as designed.

What is inside

modrinth.index.json     the manifest: name, version, loader, and a list of downloads
overrides/              config files, resource packs, anything not on Modrinth

Each entry in the manifest looks like:

{
  "path": "mods/sodium.jar",
  "hashes": { "sha1": "…", "sha512": "…" },
  "downloads": ["https://cdn.modrinth.com/data/…/sodium.jar"],
  "fileSize": 812345
}

The pack ships references, not files. That is why a 40-mod pack is a 200 KB download and why every generic extractor "fails" — there is nothing to extract.

What a conversion has to do

  1. Read modrinth.index.json.
  2. Fetch every entry from its CDN URL.
  3. Verify each file against the sha512 in the manifest. Skipping this is how a

corrupted or substituted jar gets into a pack.

  1. Place each at its path.
  2. Copy overrides/ over the top — overrides win, that is their purpose.
  3. Zip the result.

Step 3 is the one converters quietly skip. A mismatched hash means the download was truncated or the file changed; installing it anyway produces a pack that crashes on load with an error pointing at the wrong mod.

Why do it at all

  • Launchers that do not speak mrpack. ATLauncher, MultiMC and manual installs want a

folder of jars.

  • Server side. Server hosts almost never accept a .mrpack; they want the mods

folder.

  • Offline install. Once converted, the pack no longer needs the CDN.

The env field decides client versus server

Each file carries:

"env": { "client": "required", "server": "unsupported" }

A server pack must skip everything marked unsupported on the server side — mostly shaders, minimaps and HUD mods. Copying the full client mods folder onto a server is the usual cause of a crash on startup that names a rendering class.

Going the other way

Building a .mrpack from a folder is the reverse and has one trap: any mod not on Modrinth cannot be a manifest entry. It must go in overrides/mods/, which makes the pack bigger but keeps it working. Silently dropping those mods produces a pack that installs cleanly and is missing content.

Convert in either direction, with hash verification and the env split handled, in the Resource Pack Zip Tools.

Resource Pack Zip Tools →

More guides

Browse all →

Looking for more Minecraft tools?

A suite of client-side generators, viewers and converters — all free, all in your browser.