Skip to content

souljorje/d3-maps

Repository files navigation

d3-maps

Reactive SVG maps, powered by D3.
Works with Vue and React. Solid and Svelte support coming soon.

CI Deploy Docs

Docs site

  1. Core is framework-agnostic

    • Universal higher order logic
    • Map objects models: features, markers, etc
    • Utilities for custom layers: zoom, choropleth, bubble, etc
  2. Adapters are framework-specific

    • Vue and React bindings
    • Solid and Svelte support coming soon
    • Rendering and reactivity integration
    • Declarative components and composables (hooks)

The core never depends on a framework. Adapters depend on the core.

Features

  • SSR friendly (React: Next.js App Router requires Client Components, RSC entrypoints planned)
  • Lightweight and tree-shakable
  • Automatic rerender
  • Zoom and drag on all devices
  • Customize map with any objects
  • Automatic transform lightweight TopoJSON to functional GeoJSON

Installation

React adapter requires React 19+

pnpm

# vue
pnpm add @d3-maps/vue

# react
pnpm add @d3-maps/react

npm

npm install @d3-maps/vue
npm install @d3-maps/react

bun

bun add @d3-maps/vue
bun add @d3-maps/react

Coming soon adapters

# solid
pnpm add @d3-maps/solid

# svelte
pnpm add @d3-maps/svelte

Development

pnpm install
pnpm build
pnpm dev

Contributing

Contributing Guide

License

MIT licensed. Copyright © 2026 Georgii Bukharov. See LICENCE for more details.

Inspired by

react-simple-maps

About

SVG maps with D3 made simple. Reactive and responsive out of the box.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors