Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minecraft World Viewer

A web app that converts Minecraft world .zip files into interactive 3D models in your browser.
Built with Next.js + Three.js, deployable to Vercel in one click.


Features

  • Upload any Minecraft Java Edition world .zip (1.9–1.20)
  • Parses Anvil .mca region files directly in the browser (no server needed)
  • Block-accurate color rendering with 150+ block types
  • Interactive 3D camera (drag to rotate, scroll to zoom)
  • Handles up to 500,000 blocks with instanced rendering
  • Mobile-friendly touch controls
  • Adjustable Y-range filter to focus on specific layers

Local Development

npm install
npm run dev
# Open http://localhost:3000

Project Structure

minecraft-viewer/
├── pages/
│   ├── index.js          # Main app page
│   └── _app.js
├── components/
│   └── MinecraftViewer.js  # Three.js 3D renderer
├── lib/
│   ├── mcaParser.js      # Minecraft Anvil .mca parser
│   ├── nbtParser.js      # Binary NBT parser
│   └── blockColors.js    # Block → color mapping (150+ blocks)
├── styles/
│   └── globals.css
├── next.config.js
├── vercel.json
└── package.json

How It Works

  1. Upload — You select a Minecraft world .zip file
  2. Extract — JSZip reads the archive in the browser
  3. Parse MCA — Each .mca region file is parsed using the Anvil format spec
  4. Parse NBT — Chunk NBT data is decoded to extract block palettes and block state arrays
  5. Render — Three.js InstancedMesh renders blocks with accurate colors and lighting

Supported Formats

  • Minecraft Java Edition 1.16+ (Anvil format, 1.16 chunk format)
  • World .zip files exported from the game's "Open World Folder" feature

Performance Tips

  • Use the Y Range filter to limit to the layer containing your structure
    (castles are usually Y 60–130, underground builds Y 0–60)
  • The viewer automatically limits to 500k blocks and prioritizes structural blocks
  • On slower devices, smaller worlds will render faster

About

A web app that converts Minecraft world .zip files into interactive 3D models in your browser. Built with Next.js + Three.js, deployable to Vercel in one click.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages