Studio Nope Get the module →
HubSpot CMS Module

Interactive images that explain themselves.

Drop markers on any image. Click to reveal a rich card. Markers stay locked when the image scales, cards never overflow off-screen, and on mobile it becomes a clean tappable list. Fully styled from the editor.

Get it on the HubSpot Marketplace See it in action
$14.99 No jQuery Responsive WCAG AA accessible

One image. As many callouts as you need. Markers that never drift, cards that never overflow.

01 — Live demo · Shop the look

Turn one photo into a clickable story

This is the module exactly as it ships — its default image and markers. Click a numbered dot to reveal what's in the shot. Cards flip to stay on-screen, and only one opens at a time.

Photographer with a film camera on a city street
02 — Live demo · Product features

Annotate a product, point at every detail

Same numbered markers as above — but here they're blue with larger numbers. Marker color, size and the number's font size are all settings you choose per instance.

Over-ear fabric headphones
Documentation

Everything you need to set it up

This page is the demo and the manual. The two sections above are the live module; everything below explains how to build the same thing on your own page. No external docs to hunt for.


What it does

Image Hotspot Pro turns a single image into an interactive one. You upload a picture, drop markers (dots) on specific points, and each marker opens a small card with a title, description, optional image and optional button. Visitors click a marker to learn about that part of the image.

It's built for product feature callouts, "how it works" UI walkthroughs, floor plans and maps, and shop-the-look fashion shots — anything where pointing at parts of an image beats a wall of text.

Unlimited hotspotsA repeater field — add as many markers as you need.
Percentage positioningMarkers stay locked when the image scales. Never drift.
Edge-aware cardsTooltips flip to stay fully on-screen near any edge.
5 marker styles + iconDot, ring, numbered, pin, plus, or your own image.
Color categoriesGroup markers by color, with an optional legend.
Mobile-readyBottom-sheet cards and an optional tappable list.
AccessibleReal buttons, keyboard support, reduced-motion.
SEO list viewPuts every hotspot's text in the DOM as readable HTML.
Image overlayDarken a bright image so markers & cards stay readable.
100% styled from settingsFonts, colors, padding, shadow, border, overlay — every value is a field. Colors & fonts inherit your theme.
No jQuery / no HubDBTiny vanilla JS. Works on any HubSpot theme.

Quick start

From dropping the module on a page to a finished interactive image is about five minutes.

  1. Add the module to a pageIn the page editor, open the module list, find Image Hotspot Pro and drag it into any drag-and-drop area. It loads with a sample image and three markers so you can see how it works immediately.
  2. Upload your imageOpen the Image group and set Base image. Add alt text. Pick an Aspect ratio (or "Use image's natural ratio") so the space is reserved and the page doesn't jump while the image loads.
  3. Add your hotspotsOpen the Hotspots repeater. Each item is one marker. Set its Title and Description, and optionally a card image and a button.
  4. Position each markerSet the X and Y fields (percentages — see below). The marker moves on the preview as you type, so you can nudge it onto the exact spot.
  5. Style itOn the Style tab, choose a marker style, colors, tooltip look, and behavior. Everything is a field — no custom CSS.
  6. PublishThat's it. It's responsive, accessible and touch-friendly out of the box.

Placing hotspots (the important part)

Every marker has two position fields:

So a marker at X = 50, Y = 50 sits dead center. A marker at X = 90, Y = 10 sits near the top-right corner.

Why percentages, not pixels? Because the image resizes on phones and tablets. Percentages mean every marker stays glued to the same spot on the image at every screen size — the single most common thing cheaper hotspot tools get wrong.

You don't have to guess: as you change X and Y, the marker moves on the live preview in the editor, and a small coordinate badge shows the current values so you can nudge it precisely onto the feature.


Marker styles

Pick one style for all markers under Style → Markers:

You also control marker size, color, border, the hover color and scale, and an optional attention pulse (a soft expanding ring that signals "these are clickable" — it respects reduced-motion). Add a per-hotspot Marker label to show a number or short text inside the marker.


Color-coding with categories

Want "blue = features, orange = warnings"? Define up to six categories under Categories (each is a label + color), then assign each hotspot a Category color. The marker takes that color, and you can show a legend below the image. Leave a hotspot's category blank to use the default marker color.


Styling the card & image

Every visible value is a setting — there's no custom CSS to write. The defaults also inherit your theme: the marker color pulls from your theme's primary color and the base font from your theme's body font, so it looks at home on any theme out of the box.


Behavior & mobile


Accessibility & SEO


Field reference

FieldWhereWhat it does
HeadingContentOptional eyebrow / title / subtitle above the image.
Base imageContent → ImageThe image markers are placed on, plus alt text.
Aspect ratio / fitContent → ImageReserves space (no layout shift) and controls cropping.
HotspotsContent → HotspotsThe repeater. Per marker: X, Y, title, description, image, button, label, category, pinned.
CategoriesContent → CategoriesUp to six label + color pairs for color-coding.
Accessibility & SEOContentList-below toggle, legend toggle, ImageObject schema.
MarkersStyle → MarkersStyle, size, marker & inner color, border, hover color/scale, label size, pulse, custom icon. (Marker color inherits your theme's primary color.)
Tooltip cardStyle → TooltipBackground, border, radius, shadow size + shadow color, fonts, button colors/padding/radius, card image ratio & fit.
BehaviorStyle → BehaviorTrigger (click/hover), single-open, open-a-card-on-load, mobile mode, breakpoint.
Layout & containerStyle → LayoutMax width, image radius/border, padding, section background, image backdrop, and an image overlay (darken a bright image).
Base fontStyleGlobal font every element inherits unless overridden. (Inherits your theme's body font.)

FAQ

Does it need HubDB or any setup?
No. Drop the module on a page, upload an image, and add hotspots. No HubDB, no serverless functions, no external accounts.
Does it work on any theme?
Yes. Every style is a module field, so it looks right on any HubSpot CMS theme out of the box.
How many hotspots can I add?
As many as you need — it's a repeater. It's been tested from a single marker up to 20+, including markers right at the edges and corners.
Can I use my own marker icon?
Yes. Upload an SVG or PNG in the Markers settings and it replaces the built-in styles.
Will it slow my page down?
No. It's a few KB of vanilla JavaScript with no dependencies, and images are lazy-loaded with their dimensions reserved so there's no layout shift.
Is it accessible?
Yes — real buttons, keyboard support, focus management, reduced-motion, and an optional in-DOM list view of all hotspot content.

Ready to add interactive images?

Image Hotspot Pro is a one-time purchase, installs in seconds, and works on every HubSpot CMS theme.

Get it on the HubSpot Marketplace →