Go to documentation

Leaflet integration with Nuxt

Nuxt Leaflet

npm versionnpm downloadsLicenseNuxt

A Nuxt 3 module to use Leaflet. It was made using Vue Leaflet which is a Vue 3 wrapper for Leaflet, that exposes the original Leaflet API as Vue components.

This module is really just about making it work with Nuxt 3 without the need to configure anything.


  • ⚡  No configuration needed
  • 🦺  Typescript support
  • 🚠  Auto import

Quick Setup

  1. Add nuxt3-leaflet dependency to your project
# Using pnpm
pnpm add -D nuxt3-leaflet

# Using yarn
yarn add --dev nuxt3-leaflet

# Using npm
npm install --save-dev nuxt3-leaflet
  1. Add nuxt3-leaflet to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [

That's it! You can now use Leaflet in your Nuxt app ✨


For a complete list of the components available, check out the original Vue Leaflet library.

Please note that components are exported in PascalCase, so for example, write <LMap> instead of <l-map>.


  <div style="height:100vh; width:100vw">
      :center="[47.21322, -1.559482]"
        attribution="&amp;copy; <a href=&quot;;>OpenStreetMap</a> contributors"

<script setup>
import { ref } from 'vue'
const zoom = ref(6)

body {
  margin: 0;


# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release