or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

tessl/npm-mdi--font

Webfont distribution for Material Design Icons providing CSS and SCSS integration for thousands of icons.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/@mdi/font@7.4.x

To install, run

npx @tessl/cli install tessl/npm-mdi--font@7.4.0

0

# Material Design Icons Font

1

2

Material Design Icons Font (@mdi/font) is a comprehensive webfont distribution containing 7,448 Material Design icons from both Stock and Community collections. It provides both CSS and SCSS integration for web applications, offering icons through CSS classes with support for themes, sizing, transformations, and animations.

3

4

## Package Information

5

6

- **Package Name**: @mdi/font

7

- **Package Type**: npm

8

- **Language**: CSS/SCSS

9

- **Installation**: `npm install @mdi/font`

10

11

## Core Imports

12

13

### CSS Import

14

15

```css

16

@import url('~@mdi/font/css/materialdesignicons.css');

17

```

18

19

Or via HTML link:

20

21

```html

22

<link rel="stylesheet" href="node_modules/@mdi/font/css/materialdesignicons.css">

23

```

24

25

### SCSS Import

26

27

```scss

28

@import '~@mdi/font/scss/materialdesignicons';

29

```

30

31

With custom configuration:

32

33

```scss

34

$mdi-font-path: './assets/fonts';

35

$mdi-css-prefix: icon;

36

@import '~@mdi/font/scss/materialdesignicons';

37

```

38

39

## Basic Usage

40

41

```html

42

<!-- Basic icon usage -->

43

<i class="mdi mdi-account"></i>

44

<i class="mdi mdi-home"></i>

45

<i class="mdi mdi-settings"></i>

46

47

<!-- Sized icons -->

48

<i class="mdi mdi-account mdi-18px"></i>

49

<i class="mdi mdi-home mdi-24px"></i>

50

<i class="mdi mdi-settings mdi-36px"></i>

51

52

<!-- Themed icons -->

53

<i class="mdi mdi-account mdi-dark"></i>

54

<i class="mdi mdi-home mdi-light"></i>

55

56

<!-- Transformed icons -->

57

<i class="mdi mdi-account mdi-rotate-90"></i>

58

<i class="mdi mdi-refresh mdi-spin"></i>

59

```

60

61

## Architecture

62

63

Material Design Icons Font is built around several key components:

64

65

- **Webfont Files**: Multiple font formats (WOFF2, WOFF, TTF, EOT) for browser compatibility

66

- **CSS Classes**: Over 7,400 icon classes following `.mdi-{icon-name}` pattern

67

- **Utility Classes**: Size modifiers, theme classes, transformation and animation classes

68

- **SCSS Variables**: Configurable font paths, prefixes, and icon mappings

69

- **SCSS Functions**: Helper functions for programmatic icon usage

70

71

## Capabilities

72

73

### CSS Icon Usage

74

75

Direct CSS class-based icon integration for HTML elements. Provides immediate access to all Material Design icons through predefined CSS classes.

76

77

```css { .api }

78

/* Base icon class required for all icons */

79

.mdi {

80

display: inline-block;

81

font-family: "Material Design Icons";

82

font-size: 24px;

83

/* Additional font smoothing and rendering properties */

84

}

85

86

/* Individual icon classes (7,448 available) */

87

.mdi-account::before { content: "\\F0004"; }

88

.mdi-home::before { content: "\\F02DC"; }

89

.mdi-settings::before { content: "\\F0493"; }

90

/* ... thousands more icons */

91

```

92

93

[CSS Usage](./css-usage.md)

94

95

### SCSS Programming Interface

96

97

SCSS variables, functions, and mixins for programmatic icon usage and customization. Enables build-time configuration and dynamic icon generation.

98

99

```scss { .api }

100

// Configuration variables

101

$mdi-font-path: "../fonts" !default;

102

$mdi-font-size-base: 24px !default;

103

$mdi-css-prefix: mdi !default;

104

105

// Icon lookup function

106

@function mdi($name: string) : string;

107

108

// Icon definitions map (7,448 entries)

109

$mdi-icons: (

110

"account": F0004,

111

"home": F02DC,

112

"settings": F0493,

113

// ... thousands more

114

) !default;

115

```

116

117

[SCSS Usage](./scss-usage.md)

118

119

### Icon Theming and Transformations

120

121

Built-in utility classes for styling, sizing, rotating, flipping, and animating icons. Provides consistent theming and visual effects across all icons.

122

123

```css { .api }

124

/* Size classes */

125

.mdi-18px, .mdi-24px, .mdi-36px, .mdi-48px { /* size styling */ }

126

127

/* Theme classes */

128

.mdi-dark { color: rgba(0, 0, 0, 0.54); }

129

.mdi-light { color: rgba(255, 255, 255, 1); }

130

131

/* Rotation classes */

132

.mdi-rotate-45, .mdi-rotate-90, .mdi-rotate-135, .mdi-rotate-180,

133

.mdi-rotate-225, .mdi-rotate-270, .mdi-rotate-315 { /* rotation transforms */ }

134

135

/* Flip classes */

136

.mdi-flip-h, .mdi-flip-v { /* flip transforms */ }

137

138

/* Animation classes */

139

.mdi-spin { /* 2s infinite rotation animation */ }

140

```

141

142

[Theming and Transformations](./theming-transforms.md)

143

144

## Types

145

146

```typescript { .api }

147

// SCSS Variable Types (for TypeScript projects using SCSS)

148

type MDIIconName = string; // Any of 7,448 icon names like "account", "home", etc.

149

150

type MDISize = "18px" | "24px" | "36px" | "48px";

151

152

type MDIRotation = "45" | "90" | "135" | "180" | "225" | "270" | "315";

153

154

type MDITheme = "dark" | "light";

155

156

type MDITransform = "flip-h" | "flip-v";

157

158

type MDIAnimation = "spin";

159

160

// SCSS Configuration Interface

161

interface MDIConfig {

162

fontPath?: string; // Path to font files, default: "../fonts"

163

fontSize?: string; // Base font size, default: "24px"

164

cssPrefix?: string; // CSS class prefix, default: "mdi"

165

version?: string; // Package version, default: "7.4.47"

166

}

167

```