@globestudio/element

Framework-agnostic web component for embedding Globestudio dotted globes in plain HTML, Svelte, Vue, Solid, Astro, Webflow or Framer.
511 21
Install
npm install @globestudio/element
Latest Version:0.2.0
License:MIT
Last Updated:Oct 23, 2026
Links: GitHub  ·  npm
Maintainer: viziomas

@globestudio/element

Framework-agnostic <globe-studio> web component for embedding Globestudio dotted globes. It has no dependencies. It's a small wrapper over globestudio.app/embed, so Three.js, shaders and country data all run on the embed origin.

It works anywhere custom elements do, including plain HTML, Svelte, Vue, Solid, Astro, Webflow and Framer.

Install

npm install @globestudio/element

Usage

import "@globestudio/element"; // auto-registers <globe-studio>
<!-- Pick a preset -->
<globe-studio look="aurora" width="800" height="600"></globe-studio>

<!-- From a share config (the ?c= payload from the app's Share tab) -->
<globe-studio config="…" height="480"></globe-studio>

<!-- On a light page -->
<globe-studio look="wireframe" theme="light"></globe-studio>

<!-- Halftone, Toon and Threshold paint a dark page, so make them see-through too -->
<globe-studio look="halftone" theme="light" config='{"backgroundStyle":"transparent"}'></globe-studio>

Or via CDN, no build step:

<script type="module" src="https://esm.sh/@globestudio/element"></script>
<globe-studio look="halftone"></globe-studio>

Attributes

Attribute Default Notes
look halftone Any shipped preset id. With config, the config is layered over it.
config Pre-built share config (?c= payload), layered over look, or over Default without one. A whole share link, or its ?c= query, works too.
theme dark light suits a light page: the glow and grid switch to a palette for light pages, and the white ink of Halftone, Wireframe, Toon and Threshold turns graphite. Halftone, Toon and Threshold paint a dark page of their own, so make them see-through in config too. Other values are ignored.
width 100% Forwarded to the iframe.
height 480 Forwarded to the iframe.
title Globestudio dotted globe Accessible label.
loading lazy lazy defers off-screen embeds.
source Analytics attribution tag.

Attributes are reactive: change look, config or theme and the globe updates.

In the app, the export dialog's Share tab writes this tag for the design on screen: pick Web component under Embed code and copy it.

API

import { defineGlobeStudio, buildEmbedUrl } from "@globestudio/element";

defineGlobeStudio("my-globe"); // register under a custom tag
buildEmbedUrl({ look: "vapor" }); // → "https://globestudio.app/embed?look=vapor"
buildEmbedUrl({ look: "vapor", theme: "light" }); // → "https://globestudio.app/embed?look=vapor&theme=light"

MIT © Globestudio

Related Packages

@emojisense/web-component

: a framework-free emoji picker custom element with Emojisense search.

0 2
@lightbird/player

Framework-agnostic Web Component. Drop-in video player for Vue, Svelte, Angular,...

430 3
@usefillo/dom

Framework-agnostic DOM renderer and web component for embedding Fillo forms.

7,902 0
oembed-component

oEmbed web component that make you easy to embed everything.

3,535
lostpage

Immersive 404 pages for every framework: WebGL oceans, black holes, chrome 3D ty...

473

Version History

Version Released License
0.2.0 MIT
0.1.1 MIT
0.1.0 MIT