👀 Live Preview
Client-side clickable regions (the modern pattern most tutorials should emulate):
This preview uses usemap (client-side), not ismap. Each <area> defines a clickable zone in HTML.

The ismap attribute is associated with the <img> element when that image sits inside an <a> link. It turns the image into a server-side image map: when the user clicks, the browser sends the x and y pixel coordinates to the server URL, and server-side logic decides which page to load. This is a legacy pattern—most modern sites use client-side <map> and usemap instead.
Coordinates to server.
Required structure.
Presence = true.
Server vs client.
Toggle at runtime.
map + area tags.
ismapThe primary purpose of the ismap attribute is to signal that an image inside a hyperlink should be treated as a server-side image map. Instead of navigating directly to the anchor’s href, a click appends the pointer coordinates (relative to the image) so the server can map that point to a destination—for example, different rooms on a floor plan diagram.
The clickable regions are not defined in HTML when using ismap. The server script (historically a CGI program) interprets coordinates and returns the appropriate response or redirect.
For new projects, use usemap with <map> and <area> so regions are defined in HTML and work without custom server code. Learn ismap to understand legacy pages and how server-side maps differ.
Place ismap on an <img> that is a descendant of an <a href="..."> element:
<a href="/cgi-bin/map-handler">
<img src="floorplan.png" alt="Office floor plan" ismap>
</a><img> elements that are inside an <a> with an href.ismap or ismap="ismap"; presence enables server-side behavior.href is the server endpoint that receives coordinate data.alt text on the image for accessibility.usemap, which references a client-side <map> element.The ismap attribute is a boolean attribute. It does not take a meaningful string value—its presence alone activates server-side image map mode:
ismap — Attribute present: image map enabled (true).href without sending coordinates.ismap="ismap" — XHTML-style boolean syntax; same effect as bare ismap.In JavaScript, the corresponding property is isMap (camelCase) on the image element:
document.querySelector("img").isMap = true;| Use Case | Markup | Notes |
|---|---|---|
| Enable server-side map | <img ismap> inside <a> | Sends x,y on click |
| Boolean true | ismap or ismap="ismap" | No other values |
| JavaScript | img.isMap = true | DOM property |
| Client-side alternative | usemap="#name" + <map> | Modern approach |
| Required parent | <a href="..."> | ismap img must be in link |
| Accessibility | alt on img | Describe the image |
| Element / Context | Supported? | Notes |
|---|---|---|
<img> inside <a href> | Yes | Correct and only valid use |
<img> without parent link | No effect | ismap is ignored |
<area>, <map> | No | Use usemap for client-side maps |
<input type="image"> | Similar concept | Submits x,y with form; different from ismap |
ismap vs usemap| Feature | ismap (server-side) | usemap (client-side) |
|---|---|---|
| Where regions defined | Server script | <area> in HTML |
| On click | Sends coordinates to server | Browser follows area href |
| Requires | img inside <a> | <map name> + usemap="#name" |
| Modern usage | Legacy / rare | Recommended |
Server-side ismap markup, a modern client-side map alternative, and toggling isMap with JavaScript.
Client-side clickable regions (the modern pattern most tutorials should emulate):
This preview uses usemap (client-side), not ismap. Each <area> defines a clickable zone in HTML.
Let’s look at a simple example of how to use the ismap attribute:
<a href="/map-handler">
<img src="example.jpg" alt="Example Image" ismap>
</a>The ismap attribute on the <img> tells the browser to append click coordinates to the anchor URL instead of navigating to a fixed page. The image must be inside the <a> element.
usemap)For most new projects, define clickable regions in HTML instead of relying on server-side coordinate handling:
<img src="diagram.png" alt="Solar system" usemap="#planet-map">
<map name="planet-map">
<area shape="rect" coords="0,0,82,126" href="earth.html" alt="Earth">
<area shape="circle" coords="200,60,40" href="mars.html" alt="Mars">
</map>This is not ismap. The usemap attribute links the image to a <map> element. Browsers handle hit-testing locally—a clearer, more maintainable approach for interactive diagrams.
Toggle server-side map behavior with the isMap property. Note: useMap is a separate property for client-side maps:
<a href="/map-handler">
<img id="interactiveImage" src="map.png" alt="Map">
</a>
<script>
document.getElementById("interactiveImage").isMap = true;
</script>The DOM property isMap mirrors the ismap content attribute. The old reference sometimes mixed in useMap; that property attaches client-side <map> data and does not send coordinates to the server.
alt text — Describe the image content for users who cannot see it.alt on each <area> — For client-side maps, every region needs descriptive alternative text.area elements.Boolean attribute inside <a>.
Browser captures x,y coordinates.
Coordinates appended to anchor URL.
Script maps point to the correct page.
The ismap attribute is supported in all major browsers when used on an <img> inside an anchor. Behavior is legacy but consistent. Client-side usemap maps have broader practical use today.
Browsers still send click coordinates for ismap images inside links.
Bottom line: Supported for legacy server-side maps; use usemap for new interactive images.
ismap images in an <a href> pointing to your map handleralt text on the imageusemap + <area> for new interactive diagramsismap on an <img> outside a linkismap (server-side) with useMap (client-side)alt on images or area regionsThe ismap attribute is a crucial tool for understanding server-side image maps in HTML. It lets clicks on an linked image send coordinates to the server, which then determines the destination.
For modern interactive images, client-side <map> and <area> with usemap are easier to build and maintain. Know both approaches so you can read legacy code and choose the right pattern for new work.
ismapBookmark these before building clickable images.
Sends x,y to URL.
PurposeRequired structure
SyntaxPresence = true
ValuesModern alternative
CompareAlways on img/area
A11y<img> inside a link. Clicks send x,y coordinates to the server URL so server logic can choose the destination.ismap attribute only has effect when the <img> is a descendant of an <a> element with an href attribute.ismap sends click coordinates to the server (server-side map). usemap references a client-side <map> with <area> regions defined in HTML.ismap on the image to enable it. Omit the attribute for normal link behavior without coordinate sending.usemap, <map>, and <area> are simpler and more accessible. Use ismap when maintaining legacy server-driven maps.isMap property: imageElement.isMap = true. For client-side maps, use imageElement.useMap = "#mapName" instead.Practice ismap and compare it with modern usemap patterns in the Try It editor.
5 people found this page helpful