Sponsored by Deepsite.site

Globestudio

Created By
alevizio16 days ago
Globestudio is an open-source, designer-first tool for creating dotted maps and animated 3D globes. Choose any region from a single country to the whole world, customize dot shapes and colors, layer on shader effects, and export to PNG, SVG, or animated WebM. Built on React and Three.js, it runs entirely client-side and can be embedded anywhere with a one-line script tag or iframe.
Overview

Globestudio

Open-source dotted maps and animated 3D globes for designers, animators, and creative developers.

Globestudio — animated dotted 3D globe with 21 shader looks

Pick a country or the whole world, customize dots and shapes, apply shader effects, and export PNG, SVG, or animated WebM. Built on React + Three.js.

globestudio.app · Live demos · Roadmap · Discussions

CI status License: MIT PRs welcome


Why Globestudio?

Most open-source map tooling is built for engineers — tile servers, geocoding, GIS data pipelines. Globestudio is built for the other half of the stack: the landing-page hero shot, the launch teaser, the explainer scrollytell, the deck slide that needs a globe but not a database.

Think of it as a Shader Lab for maps and globes — a designer-first canvas with presets, effects, motion, and clean exports. Composable, web-native, and yours to remix.

Features

  • 🌍 Maps for any scope — world, country, continent, subregion, US state
  • 🔄 Flat ↔ 3D globe — same dot data, two views, smooth morph
  • 🎨 12 dot shapes + custom upload — Circle · Hexagon · Triangle · Pentagon · Square · Diamond · Star · Plus · Ring · Voxel · Particle Grid · ASCII glyphs · your own SVG/PNG
  • 🪄 21 shader looks — Halftone, Risograph, Newsprint, Aurora, Pixel, Bayer, Atkinson, Wireframe, CRT, Glitch, Bad TV, Bloom, Metal, Iridescent, Pencil, Corrupt, Toon, Threshold, Vapor, Topographic — plus the base Default. Stackable on any preset.
  • 🌈 Gradients + alpha on dot color, land fill, and country stroke
  • Live animations — rotation, twinkle, size jitter, network arcs, motion-aware (respects prefers-reduced-motion)
  • 🎛️ 21 curated presets — every shader look is a one-click preset with matching backgrounds, density, dot size, and globe chrome. Shareable URLs at /looks/:id.
  • 💾 Real exports — PNG (high-res via WebGL re-render), SVG (with shader effects baked in), WebM video (looped or one-shot), JSON config
  • ⌨️ Full keyboard systemS shuffle, [/] cycle presets, D export, R reset, G toggle view, H toggle panel, ? help
  • Accessibility — WCAG 2.2 AA conformant. Keyboard-first, screen- reader proxy DOM for canvas state, focus trap on modals, motion preferences honored. See ACCESSIBILITY.md

Quickstart

Use it

The live tool runs entirely client-side:

globestudio.app

Pick a country, tweak the look, export.

Run it locally

Requires Node 20+ and npm.

git clone https://github.com/alevizio/globestudio
cd globestudio
npm install
npm run dev

Open http://127.0.0.1:5173/.

Build it

npm run build      # → dist/
npm run preview    # serve dist/ locally
npm test -- --run  # 173 tests across 26 files
npm run test:e2e   # browser smoke + accessibility checks

Embed it anywhere

Globestudio ships two embed paths — pick whichever fits the tool:

<div data-globestudio data-look="halftone" data-density="50"
     style="width: 100%; height: 480px;"></div>
<script async src="https://globestudio.app/embed.js"></script>

~3kb gzipped, zero dependencies, works in Webflow / Squarespace / blog posts / anywhere HTML is allowed. Every embed param has a matching data-* attribute. Watches the DOM for later-added elements via MutationObserver, so SPAs and dynamic content work too.

Plain iframe

<iframe
  src="https://globestudio.app/embed?look=halftone&density=70&autoSpin=1"
  width="100%"
  height="500"
  style="border:0"
  loading="lazy"
  title="Globestudio dotted globe"
></iframe>

Resize-aware via postMessage — listen for { type: "globestudio-resize", height } from the embed and resize the iframe to match. WebGL required; falls back to a still preview + a "how to enable WebGL" panel if the GL context can't be created.

Embed parameters

The canonical parameter table. Every query param the /embed route honors, as parsed in src/components/embed-view.jsx:

ParamType / rangeDefaultWhat it does
lookpreset id (one of the 21 looks)defaultBase look preset — params below override it
selectionworld · country:<ISO3> · continent:<Name> · subregion:<Name>worldWhat geography to draw
densitynumber, 1–9040Dot grid density (invalid values fall back to the preset's)
dotSizenumber, 0.1–2510Dot size (invalid values fall back to the preset's)
dotColorhex, # optionalpreset'sDot color
worldFillhex, # optionalpreset'sLand fill color
renderModedots · solidpreset'sDot field or solid landmass
motionnumber, 0–10035Parsed but currently inert — reserved, no effect yet
tiltXnumber, −45 to 450Camera tilt, degrees
tiltYnumber, −45 to 450Camera tilt, degrees
autoSpin1 · 01Auto-rotate the globe
static1 · 00Freeze all motion (static previews in design-tool canvases)
viewglobe · flatglobe3D globe or flat map
backgroundhex, # optionalunsetPage background behind the canvas (only painted when set)
themedark · lightdarkGlobe chrome palette — light reads cleanly on light host pages
transparent1 · 00See-through document, composites onto the host page
pluginfigmaunsetHost-plugin shell (the Figma plugin's Insert button)
sourcestringembedAnalytics tag, echoed in resize postMessages
cURL-encoded config JSONunsetFull share-config payload (what the Share dialog produces) — overrides the preset and the params above

A JSON Schema for the c payload lives at /schema/config.json.

Per-tool integration guides live at globestudio.app/integrations — copy-paste setups for Webflow, Framer, Figma, Notion, WordPress, plain HTML, and React. In this repo: Figma plugin · WordPress plugin · Framer component · embed snippet

Reading material: How to make a dotted world map in 2026 · All articles →

Use it from AI tools (MCP)

Globestudio ships a Model Context Protocol server, so Claude, Cursor, and any MCP-compatible assistant can generate globes, build share URLs, and grab embed snippets straight from a chat:

claude mcp add globestudio -- npx -y @globestudio/mcp

Full tool list and setup in packages/mcp/README.md.

What you can build with it

Use caseWhat it gives you
Landing page heroA live animated globe behind your headline. Export PNG for static, WebM for video.
Launch teaserAnimated dot map of where your users are. WebM ready for X/LinkedIn.
Deck visualsPer-country SVGs that drop straight into Keynote, Figma, or print layouts.
Data storyHand-picked region + dot palette for a feature, blog post, or report.
Brand systemA consistent dotted-globe mark across your site, app, and docs.
Stream / podcast graphicLooping WebM background with the CRT or Glitch preset.

Runnable examples

The examples/ directory holds 9 reference projects — runnable HTML, drop-in components, and adaptation guides. Highlights:

  • embed-snippet — the minimum-viable iframe pattern. Copy into Webflow, Framer, Notion, plain HTML, anywhere.
  • hero-globe — full-bleed animated globe behind a landing-page hero.
  • shader-presets-showcase — the shader presets in one auto-fit gallery, perfect for picking a look.

Share what you make in Show & Tell.

Documentation

CONTRIBUTINGLocal setup, project shape, design rules, how to submit presets/examples
ROADMAPWhat's shipped, what's next, what's parked
CHANGELOGWhat changed and when
GOVERNANCEHow decisions get made
CODE_OF_CONDUCTCommunity standards
SECURITYReporting vulnerabilities
SUPPORTWhere to ask questions

How it compares

There's no shortage of map and globe tools — Globestudio doesn't try to replace any of them. It owns the aesthetic-asset shelf: stylized output that ships to a landing page hero, deck slide, OG card, or launch teaser. Different tools for different jobs:

Globestudioglobe.glMapbox StudioFeltHaikei
3D globe out of box
Dotted maps✅ 12 shapespartial
Shader aesthetic looks21custom WebGL only
Multiple projections5sphere onlymanymanyn/a
No-code GUI❌ library
PNG / SVG / WebM exportmanualprint / PDFPNG / SVG
Embed iframe/embedDIYDIY
Framer / Webflow componentsplugins
No signup / no API keyn/a
Free + MIT✅ (library)freemiumpaidfree, closed

What Globestudio gives up: GIS-accurate data overlays, large dataset analysis, real-time collaboration. If those are what you need, reach for Mapbox / Felt / Kepler — they're great at them.

Built on the shoulders of: globe.gl and COBE defined what a modern OSS 3D globe library looks like. dotted-map is the engine under the dot field. Stamen Maps was the spiritual ancestor of "maps as visual aesthetic."

Tech stack

Built with:

No backend and no accounts. Privacy-respecting Vercel Analytics and Speed Insights honor Do Not Track, Global Privacy Control, and the local opt-out in /privacy; everything else renders in your browser.

Contributing

We want contributions. Code, presets, example projects, screenshots, docs rewrites — all of it counts.

The shortest path:

  1. Build something cool with the live tool → drop it in Show & Tell
  2. Found a bug?Bug report
  3. Made a preset you love?Preset submission
  4. Have an idea?Ideas discussion

Full guide in CONTRIBUTING.md.

License

MIT. Use it, remix it, ship it. If you use it commercially or prominently we'd love to hear about it (no obligation, just curious).

The included geography data comes from world-atlas, us-atlas, and world-countries — all with permissive licenses. If you build on top of derived map data outside this repo, double-check the source attributions.


Server Config

{
  "mcpServers": {
    "globestudio": {
      "command": "npx",
      "args": [
        "-y",
        "@globestudio/mcp"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
WindsurfThe new purpose-built IDE to harness magic
CursorThe AI Code Editor
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Playwright McpPlaywright MCP server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Serper MCP ServerA Serper MCP Server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
ChatWiseThe second fastest AI chatbot™
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
Tavily Mcp
Amap Maps高德地图官方 MCP Server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
DeepChatYour AI Partner on Desktop