Create interactive, annotated product images with hotspots. Add clickable annotations to product images with titles, descriptions, prices, and links. Generate professional embed code for Wix, Shopify, and other website builders.
- Drag-and-Drop Interface: Upload images and place hotspots intuitively
- Hotspot Management: Add, edit, delete, and reorder product annotations
- Rich Annotations: Add for each hotspot:
- Title (product name)
- Description (product details)
- Price information
- Links (to product page, cart, etc.)
- Custom emoji icons
- Live Preview: See changes in real-time as you edit
- Canvas Editor: Full three-pane layout:
- Left: Annotation list
- Center: Image canvas with draggable hotspots
- Right: Property editor
- Multiple Export Formats:
- Embed code (for Wix, Shopify)
- JSON (for developers)
- CSV (for spreadsheet import)
- Responsive Design: Dark mode optimized UI
- Batch Operations: Manage multiple annotations efficiently
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Canvas API: Image manipulation and hotspot rendering
- Storage: Browser localStorage (auto-save)
- Export: HTML/JSON/CSV generation
- UI: Three-pane drag-and-drop interface
-
Upload Image
- Drag & drop or click to select
- Supported formats: JPG, PNG, WebP, GIF
-
Add Hotspots
- Click image or use "Add" button
- Click placement sets position
- Hotspots appear as red circular buttons
-
Edit Hotspot
- Click hotspot in list or on image
- Right panel shows editor
- Update title, description, price, link, icon
-
Position Hotspots
- Drag hotspots on image to reposition
- Or edit coordinates in editor panel
-
Export
- HTML embed code (copy-paste ready)
- JSON (for developers)
- CSV (for data import)
Left Sidebar - Annotation List
- Lists all hotspots with numbers
- Click to select and edit
- Delete button for each
- "Add" button at bottom
Center Canvas - Image Editor
- Displays product image
- Red circular hotspot buttons overlay
- Drag to reposition hotspots
- Click to select
- Shows coordinates on hover
Right Panel - Property Editor
- Title field (product name)
- Description textarea (details)
- Price field
- Link field (URL)
- Icon selector (emoji picker)
- Position coordinates (X, Y)
- Open
index.htmlin web browser - Click upload area or drag image
- Click on image to add hotspots
- Click hotspots to edit properties
- Drag to reposition
- Export when done
Perfect for Wix, Shopify, Webflow:
<div class="product-annotator" data-image="url">
<!-- Generated by Product Annotator -->
<!-- Paste this into your website -->
</div>For developers and custom integration:
{
"image": "base64-encoded",
"hotspots": [
{
"id": 1,
"x": 50,
"y": 50,
"title": "Product Name",
"description": "Details",
"price": "$99.99",
"link": "https://...",
"icon": "ποΈ"
}
]
}For spreadsheet import:
hotspot_id,x,y,title,description,price,link,icon
1,50,50,"Product","Details","$99.99","https://...",- Position: X, Y coordinates (pixels)
- Title: Product name or feature (max 100 chars)
- Description: Detailed text, features (max 500 chars)
- Price: Format as you wish ($99.99, etc.)
- Link: Full URL to product or cart page
- Icon: Choose from emoji picker or keep default (+)
- Colors: Red circular buttons with white icons
- Size: 40px diameter (auto-scales on hover)
- Icons: Default (+), or select emoji
- Hover State: Scales up, shows shadow
- Active State: Blue ring highlight
- Data saved to browser localStorage
- Persists between sessions
- Clear cache to reset
product-annotator/
βββ index.html # Complete application
βββ README.md # This file
| Feature | Chrome | Firefox | Safari | Edge |
|---|---|---|---|---|
| Image Upload | β | β | β | β |
| Canvas API | β | β | β | β |
| Drag & Drop | β | β | β | β |
| localStorage | β | β | β | β |
| Export | β | β | β | β |
| Key | Action |
|---|---|
Delete |
Remove selected hotspot |
Escape |
Deselect hotspot |
Ctrl+Z |
Undo (basic) |
Ctrl+S |
Save/Export |
ββββ |
Fine-tune position |
- Lightweight single-file application
- Optimized canvas rendering
- Efficient DOM updates
- Fast JSON/CSV export
- Product Photography: E-commerce product images
- Interactive Content: Landing pages with clickable features
- Real Estate: Property photos with room annotations
- Interior Design: Furniture/decor product showcase
- Fashion: Clothing item details and links
- UI/UX: Interactive mockups and prototypes
- Educational: Diagrams with explanatory hotspots
- Travel: Map annotations and points of interest
Wix
- Export HTML embed code
- Add "Embed" element to page
- Paste generated code
- Configure links to products
Shopify
- Export JSON
- Use custom app integration
- Or export HTML and embed in rich text
WordPress
- Export HTML
- Use in HTML block
- Or integrate with custom plugin
Webflow
- Use embed component
- Paste HTML code
- Adjust styling in Webflow
- Image Size: Use 800x800 to 2400x2400px
- Clear Products: Well-defined products work best
- Logical Placement: Place hotspots on distinct features
- Short Titles: 1-3 words per hotspot
- Mobile Ready: Test on mobile before exporting
- Link Testing: Verify all links work before embedding
- Batch Export: Use JSON for bulk import to other tools
- Responsive Images: Use percentage-based positioning
- Analytics: Add tracking parameters to exported links
- Multiple Products: Create multiple annotations per image
- Backup: Download JSON regularly as backup
| Problem | Solution |
|---|---|
| Image won't upload | Check file format (JPG/PNG/WebP) and size (<10MB) |
| Hotspots not saving | Check browser storage hasn't hit limit |
| Export text garbled | Try different browser or clear cache |
| Can't drag hotspot | Ensure image is loaded first |
| Links not working | Verify full URLs (include http://) |
- β Images stored locally in browser
- β No uploads to external servers
- β No analytics or tracking
- β Export data stays on your device
- β Clear browser cache to delete everything
- Keyboard navigation support
- Focus indicators for interactive elements
- Semantic HTML structure
- Alt text for all images
- High contrast dark theme
Created by Pawan K Jajoo
Tags: productivity, drag-and-drop, free-software, website-design, free-to-use, product-editor-frontend