Syntax
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" fill="blue" />
</svg>Examples
Basic Shapes
Drawing a circle and rectangle with SVG.
<svg width="200" height="100">
<rect x="10" y="10" width="80" height="80" fill="#3b82f6" />
<circle cx="150" cy="50" r="40" fill="#10b981" />
</svg>Inline Icon
A simple checkmark icon built with an SVG path.
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M20 6L9 17l-5-5" />
</svg>Styling SVG with CSS
Applying CSS to individual SVG elements, including on hover.
<style>
.icon-circle { fill: #6b7280; transition: fill 0.2s; }
.icon-circle:hover { fill: #3b82f6; }
</style>
<svg width="60" height="60">
<circle class="icon-circle" cx="30" cy="30" r="25" />
</svg>Attributes
- width (number): The rendered width of the SVG
- height (number): The rendered height of the SVG
- viewBox (string): Defines the internal coordinate system, enabling responsive scaling
- fill (color): The fill color for shapes within the SVG
Best practices
- Use viewBox so the SVG scales cleanly to any container size rather than being locked to fixed pixel dimensions
- Prefer SVG over raster images (PNG/JPG) for icons and logos, since they stay sharp at any resolution and are typically smaller in file size
- Add a title element inside the SVG and appropriate ARIA attributes for accessibility, especially for meaningful (non-decorative) graphics
- Use CSS fill and stroke properties instead of hardcoding colors when the SVG needs to adapt to themes
Browser compatibility
Support applies to the named feature, not every attribute or behaviour in this article. Versions refer to browsers, not operating systems.
These records cover SVG features embedded in HTML, not a blanket guarantee for every SVG feature.
svg.elements.svg
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 2 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 2
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.circle
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 2 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 2
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.rect
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3.1 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 2 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3.1
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 2
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.path
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 3 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 3
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.text
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 2 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 2
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.svg.viewBox
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 3 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 3
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
CSS fill property
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 3 - Safari
- Supported
From 4 - Edge
- Supported
By 15 (possibly earlier) - Opera
- Supported
From 15
Mobile
- Safari on iOS
- Supported
From 3.2 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature · MDN reference
Support history and limitations
Chrome
- From 1
Firefox
- From 3
Safari
- From 4
Edge
- By 15 (possibly earlier)
Opera
- From 15
Safari on iOS
- From 3.2
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.svg.width
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 3 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 3
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg.elements.svg.height
Desktop
- Chrome
- Supported
From 1 - Firefox
- Supported
From 1.5 - Safari
- Supported
From 3 - Edge
- Supported
From 12 - Opera
- Supported
From 8
Mobile
- Safari on iOS
- Supported
From 3 - Chrome for Android
- Supported
From 18 - Firefox for Android
- Supported
From 4 - Samsung Internet
- Supported
From 1.0
MDN BCD record for this feature
Support history and limitations
Chrome
- From 1
Firefox
- From 1.5
Safari
- From 3
Edge
- From 12
Opera
- From 8
Safari on iOS
- From 3
Chrome for Android
- From 18
Firefox for Android
- From 4
Samsung Internet
- From 1.0
svg — fill attribute
Desktop
- Chrome
- Unknown
- Firefox
- Unknown
- Safari
- Unknown
- Edge
- Unknown
- Opera
- Unknown
Mobile
- Safari on iOS
- Unknown
- Chrome for Android
- Unknown
- Firefox for Android
- Unknown
- Samsung Internet
- Unknown
No single verified compatibility record for this topic. Use the feature-specific articles; no browser support is inferred.
MDN BCD 8.1.5 · Dataset built 2026-10-08 · Mapping reviewed 2026-10-21. These dates are not individual browser-test or claim-verification dates. Unknown means the data does not establish support.