---
title: "Gem animated icon"
description: "Gem animated icon (Gamification & rewards). The gem catches the light. Light: a four-point sparkle twinkles off the upper-right corner, swelling and turning as it fades, and the stone flashes with a pop, rebounds and settles. Strong: the stone gathers, the first sparkle is answered by a second off the upper-left corner, and the stone pops with each, the second pop smaller. Facets stay joined to the rim."
canonical: https://generativeicons.com/icons/gem/
---

# Gem animated icon

The gem catches the light. Light: a four-point sparkle twinkles off the upper-right corner, swelling and turning as it fades, and the stone flashes with a pop, rebounds and settles. Strong: the stone gathers, the first sparkle is answered by a second off the upper-left corner, and the stone pops with each, the second pop smaller. Facets stay joined to the rim.

- Id: `gem`
- Category: Gamification & rewards
- Search terms: diamond, jewel, gemstone, crystal, ruby, emerald, sapphire, precious stone, jewelry, jewellery, valuable, luxury, rare item
- One action, back to rest
- Styles: outline, solid, duotone; outline weights 1.5, 2, 2.5 (any from 1 to 3); motion light or strong
- File: https://generativeicons.com/assets/gem.lottie (dotLottie, 8615 bytes, sha256 b93e37b7566438bec33315dfed0e36489e89bace1c3077551e13098272213ff0)
- License: MIT

## Install

```sh
npm install @lottiefiles/generative-icons-runtime
npx generative-icons init
npx generative-icons add gem
```

## React

```tsx
// npm install @lottiefiles/generative-icons-react
'use client';
import { AnimatedIcon } from '@lottiefiles/generative-icons-react';
import icon, { src } from './generative-icons/gem.mjs';

export function GemIcon() {
  return <AnimatedIcon icon={icon} src={src} size={32}
    color="#ffffff" variant="outline" weight={2}
    motion="light" theme="dark" />;
}
```

## JavaScript

```js
import { createIcon } from '@lottiefiles/generative-icons-runtime';
import icon, { src } from './generative-icons/gem.mjs';

const handle = await createIcon(canvas, {
  icon, src,
  color: '#ffffff', style: 'outline', weight: 2,
  motion: 'light', theme: 'dark'
});
button.addEventListener('click', () => handle.play());
// On removal: handle.destroy();
```

More: https://generativeicons.com/icons/gem/ · https://generativeicons.com/api/icons/gem
