WebLib
No reviews yet
lets you write Minecraft GUI screens using HTML, CSS, and a lightweight JavaScript bridge that calls back into your Java mod code.
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
WebLib — HTML/CSS/JS GUIs for Minecraft NeoForge 1.21
WebLib (web_lib) is a lightweight library mod that lets mod developers build fully-featured Minecraft GUI screens using standard HTML and CSS, with a simple JavaScript-to-Java callback bridge — all rendered natively via Minecraft's own GuiGraphics, with zero external browser dependencies.
Stop wrestling with Minecraft's widget system. Write your mod's menus the way web developers write interfaces.
Features
- HTML rendering — Supports a rich set of elements:
div,p,h1–h6,span,button,input,select,img,ul/ol/li,pre,hr,code, and more. - Full CSS engine — Cascade, inheritance, specificity, and a broad property set including:
- Box model (
margin,padding,border,width,height) - Flexbox (
flex-direction,justify-content,align-items,flex-wrap,gap) - Colors (
#RGB,#RRGGBB,#RRGGBBAA,rgb(),rgba(), named colors) - Text styling, overflow, z-index, relative positioning, and more
- Selectors: type, class, ID, attribute, pseudo-classes (
:hover,:active,:focus,:nth-child,:not, etc.), and all combinators
- Box model (
- JavaScript bridge — Fire Java callbacks directly from HTML
onclick/onchangeevents. Pass arguments, access and mutate the DOM from Java. - Built-in JS functions —
alert(),navigate(),reload(),setStyle(),setInnerText(),toggleClass(),setVar(),console.log()— no registration needed. - Multi-page navigation — Build multi-screen UIs with back ◀ / forward ▶ / reload ↺ browser chrome, or go headless.
- External CSS & JS files — Reference stylesheet and script files from your mod's assets using the standard
namespace:pathResourceLocation convention. - Resource-based pages — Load HTML pages directly from your mod's resource pack with
WebLibApi.openPageFromResource(...). - Advanced
WebPageAPI — Build, inject CSS, mutate, and layout pages programmatically before opening them.
For Mod Developers
Adding WebLib to your mod is a single dependency declaration:
[[dependencies.yourmod]]
modId = "web_lib"
type = "required"
versionRange = "[1.0,)"
ordering = "AFTER"
side = "CLIENT"
Then open any screen with a single call:
WebLibApi.openPage("<html><body><h1>Hello, Minecraft!</h1></body></html>");
Register Java functions that HTML can call:
WebLibApi.registerFunction("myMod.openShop", (args, ctx) -> {
Minecraft.getInstance().tell(() -> Minecraft.getInstance().setScreen(new MyShopScreen()));
return null;
});
Requirements
- Minecraft: 1.21
- Mod Loader: NeoForge
- Side: Client-only
- License: Apache 2.0
Source Code
Available on GitHub under the Apache 2.0 License. Contributions welcome!

Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources