# Diablo — Diablo Web by JohnImril

Canonical: https://playable.wtf/games/diablo-web-modern/

Project ID: project:diablo-web-modern

A modernized client with shareware, MPQ import and save export.

## About this version

Nikita Maksimov’s React/TypeScript client builds on earlier Diablo WebAssembly work and adds runtime, storage and save-management features. It is a distinct maintained client, not a second count for a mirror of DiabloWeb.

Browser launch. RPG.

[Play on creator site](https://johnimril.github.io/diablo_web/)

## Diablo

Try a hosted Diablo demo, import DIABDAT.MPQ for the retail game, or use native DevilutionX for Hellfire and its controller scheme.

- [Read Diablo guide](https://playable.wtf/guides/diablo-browser-demo-game-files/)
- [Earlier browser client](https://playable.wtf/games/diablo-browser/): The original DiabloWeb host offers shareware and retail MPQ import, including its documented phone route.
- [Native with Hellfire](https://playable.wtf/games/diasurgical-devilutionx/): A separate port with expansion-data support and a documented controller scheme.

[Browse all version comparisons](https://playable.wtf/families/)

## Diablo beneath Tristram

The original Diablo sends its hero into the dungeons beneath Tristram, combining real-time fighting, equipment and magic with the search for better loot. Warrior, Rogue and Sorcerer provide different starting approaches to that descent. The town and dungeon form the rhythm of the adventure: prepare, venture deeper, then return with what you have found.

That is the original game's structure. A browser client's modern interface does not turn Diablo into a different sequel or automatically include an expansion.

Sources: [Blizzard · Diablo game description on GOG](https://www.gog.com/en/game/diablo)

## A modernized client around earlier DiabloWeb work

JohnImril's Diablo Web modernizes the browser client around the existing Devilution-based WebAssembly runtime and d07RiV's earlier DiabloWeb work. Choose Play Free Demo for limited shareware content, or Load Your MPQ for your own DIABDAT.MPQ. Dropping that archive onto the start screen is also supported.

Sources: [JohnImril Diablo Web · player and save documentation](https://raw.githubusercontent.com/JohnImril/diablo_web/HEAD/README.md)

## One active tab protects the saves

Keep one game tab or installed-app window open. If Game already open appears, finish saving in the other window, close it and choose Try Again. Returning to its menu does not release storage. Do not clear browser data to fix this message.

Manage Saves exports local saves before a browser or device change. If that menu has not appeared yet, drop a .sv file onto the start screen for the first import. There is no cloud-save service.

Sources: [JohnImril Diablo Web · player and save documentation](https://raw.githubusercontent.com/JohnImril/diablo_web/HEAD/README.md)

## Desktop input remains the best starting point

Use keyboard and mouse for the best experience; touch controls still need improvement. The browser must support Web Locks and run in a secure context to open save storage. Online multiplayer remains experimental, so choose this client for its documented local play and save-management workflow.

Sources: [JohnImril Diablo Web · player and save documentation](https://raw.githubusercontent.com/JohnImril/diablo_web/HEAD/README.md)

## Do I need the original game files?

Play Free Demo uses shareware; Load Your MPQ needs DIABDAT.MPQ from your own Diablo copy.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/35195130aea564aa349645181ac4ce96e463f61d/README.md)

## How do I get started?

Choose the demo or import your retail archive.

1. Choose Play Free Demo for shareware.
2. Alternatively, select Load Your MPQ or drop your DIABDAT.MPQ on the start screen.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/35195130aea564aa349645181ac4ce96e463f61d/README.md)

## Which devices and browsers work?

Requires WebAssembly, Web Workers, IndexedDB and Web Locks in a secure context. Touch input needs improvement; keyboard/mouse is preferred.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/35195130aea564aa349645181ac4ce96e463f61d/README.md)

## What are the controls?

Keyboard/mouse is preferred. Touch controls exist but remain limited.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/35195130aea564aa349645181ac4ce96e463f61d/README.md)

## Can I play multiplayer?

Online multiplayer is explicitly experimental and not finished support for ordinary play.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/35195130aea564aa349645181ac4ce96e463f61d/README.md)

## How do saves work?

Saves use this browser profile’s IndexedDB. Manage Saves exports them; for a first import, drop a .sv file on the start screen. Manage Saves then appears for further imports. There is no cloud-save service.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/HEAD/README.md)

## What should I know before playing?

Game already open means another tab or installed app is using the saves: save there, close it, then choose Try Again. For loading errors use Reload and Try Again when offered, preserving browser data.

Creator-reported: [Project guide](https://raw.githubusercontent.com/JohnImril/diablo_web/HEAD/README.md)

## Documented support

- Mobile: Limited · Creator-reported
- Multiplayer: Experimental · Creator-reported
- Online multiplayer: Experimental · Creator-reported

## Credits and project

- Port author: [Nikita Maksimov](https://github.com/JohnImril)
- Upstream author: [d07RiV](https://github.com/d07RiV/diabloweb)
- Original developer: [Blizzard North](https://github.com/JohnImril/diablo_web#origins-and-credits)
- [Original project](https://github.com/JohnImril/diablo_web)
