Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
WebGUI lets you render real web interfaces inside Minecraft using the technologies you already know.
Open any web page — React, Vue, Svelte, or plain HTML/CSS/JavaScript — as a full-screen GUI or transparent HUD overlay directly in-game. Powered by real Chromium via MCEF, so modern web features just work: CSS animations, WebSockets, fetch, WebGL, localStorage, realtime updates, and more.
- GitHub — https://github.com/mc-webgui/webgui
- Documentation — https://webgui.space
- npm — https://www.npmjs.com/package/@webgui/react
Why WebGUI exists
I'm a fullstack developer. Most of my work is building web applications — React frontends, APIs, realtime systems, dashboards, all the usual web stack.
I've always loved Minecraft not only as a game, but as a creative platform. Servers, custom mechanics, communities, minigames, roleplay worlds — Minecraft gives people incredible freedom to build experiences together.
At some point I realized something:
Web developers already have amazing tools for building interfaces — but almost no good way to use them inside Minecraft.
Every day we build polished UIs with responsive layouts, animations, maps, shops, live dashboards, and realtime interaction. But bringing that same workflow into Minecraft has always been difficult, limited, or awkward.
So I asked a simple question:
What if Minecraft could just open a real web app?
Not a custom inventory GUI system. Not another proprietary UI framework. Not a new language to learn.
Just the web.
That's how WebGUI started.
Built for web developers
WebGUI is designed for developers who already know modern frontend development.
If you know:
- HTML
- CSS
- JavaScript
—you already know how to build Minecraft interfaces with WebGUI.
Use React, Vue, Svelte, Tailwind, WebSockets, REST APIs, animations, state managers, component libraries — whatever you already use for normal web development.
Build:
- server shops
- HUD overlays
- maps
- menus
- admin panels
- quest systems
- roleplay interfaces
- realtime dashboards
- entire in-game applications
Then load them directly inside Minecraft.
How it works
The server sends a URL to the client. The client opens it inside embedded Chromium. The page receives live player data automatically and can communicate back with the game in realtime.
Features
- Full-screen GUI — replace Minecraft screens with your web app
- HUD overlay — transparent browser layer rendered over gameplay
- Real Chromium browser — powered by MCEF
- Live player data — position, username, UUID, dimension, server
- Realtime communication — browser ↔ Minecraft messaging
- Signed player tokens — secure backend authentication without login screens
- Auto HUD on join
- Per-player main menu
- Server-side Mod API
- Works with any frontend stack
Commands
| Command | Permission |
|---|---|
/webgui gui <targets> <url> |
webgui.command.gui |
/webgui hud <targets> <url> |
webgui.command.hud |
JavaScript API
// Live player data
const {
playerUuid,
username,
dimension,
pos,
server
} = window.webgui.client;
// Listen for updates
window.addEventListener('webgui:client', e => {
console.log(e.detail);
});
// Send messages back to Minecraft
window.webgui.postToGame({
channel: 'example',
value: 42
});
// Close current GUI/HUD
window.webgui.closeGui();
React integration
npm i @webgui/react
import { useWebGUIClient } from '@webgui/react';
function App() {
const client = useWebGUIClient();
return (
<div>
Hello, {client?.username}
</div>
);
}
Server configuration
config/webgui/server.json
{
"autoHudOnJoin": true,
"autoHudUrl": "https://your-server.com/hud",
"mainMenuUrl": "https://your-server.com/menu",
"enableTokens": true,
"tokenSecretBase64": "<base64 secret>",
"tokenTtlSeconds": 300,
"queryParamName": "webgui_token"
}
Requirements
- Fabric Loader ≥ 0.18
- Fabric API
- Java 21


