A system-agnostic Foundry VTT v13 module that provides interactive map journal pages with collaborative pin placement. Players can open a map, place pins of different types, drag them around, and share or keep them private.
- Interactive map journal pages — Add a "Map" page type to any journal entry with a custom image
- Drag-and-drop pins — Click to place pins, drag to reposition, right-click to edit or delete
- 5 built-in pin types — Location, Danger, Treasure, Quest, and Note — each with a distinct icon and color
- Private & shared pins — Players can mark pins as private (only visible to them) or shared (visible to all)
- Real-time sync — Pin changes broadcast to all connected clients via sockets
- Zoom & pan — Mouse wheel to zoom, middle-click drag to pan large maps
- Permission controls — GM can toggle whether players are allowed to place pins
- System agnostic — Works with any game system
- In Foundry VTT, go to Settings > Add-on Modules > Install Module
- Paste the manifest URL or install from the package browser
- Enable the module in your world's module settings
- Create a new Journal Entry (or open an existing one)
- Add a new page and select the Map type
- Click Set Map Image to upload or pick a map image
- Left-click on the map to place a pin of the selected type
- Drag pins to reposition them
- Right-click a pin to edit its label, type, or visibility — or delete it
- Use the toolbar to switch pin types and zoom in/out
| Setting | Scope | Default | Description |
|---|---|---|---|
| Enable for Players | World | true |
Allow players to add and edit their own pins |
| Default Pin Type | Client | Note |
Default pin type when placing new pins |
| Type | Icon | Color | Use Case |
|---|---|---|---|
| Location | Map pin | Blue | Towns, landmarks, points of interest |
| Danger | Skull | Red | Hostile areas, traps, warnings |
| Treasure | Gem | Amber | Loot, hidden caches, rewards |
| Quest | Scroll | Purple | Quest objectives, NPC locations |
| Note | Sticky note | Gray | General annotations |
map-collab-tool/
├── module.json # Foundry module manifest
├── scripts/
│ ├── module.mjs # Entry point, hooks, page type registration
│ ├── map-page-sheet.mjs # Custom JournalPageSheet for the map viewer
│ ├── pin-config.mjs # ApplicationV2 dialog for editing pins
│ ├── socket-manager.mjs # Real-time socket communication
│ └── settings.mjs # Module settings registration
├── styles/
│ └── map-collab-tool.css # UI styles
├── templates/
│ ├── map-page.hbs # Map viewer template
│ └── pin-config.hbs # Pin edit dialog template
└── lang/
└── en.json # English translations
- Foundry VTT: v13+
- Game Systems: Any (system agnostic)
MIT