@typo3/icons
SVG icons for the TYPO3 CMS backend
Sizes
| default | Scales with font-size |
|---|---|
| small | 16px |
| medium | 32px |
| large | 48px |
| mega | 64px |
Colors
- #FF8700 TYPO3 primary color
- #E8A33D Yellow
- #FFC857 Yellow light
- #515151 Gray dark
- #8C8C8C Gray
- #B9B9B9 Gray light
- #EFEFEF Gray brighter
- #C83C3C Red
- #FF6777 Red light
- #79A548 Green
- #AAD400 Green light
- #5599FF Blue
- #ABD7FF Blue light
- #663399 Purple
Action Icons
- Size
- 16x16px
- Protective space
- 1px
- Effective Size
- 14x14px
- Outline width
- 1px
- Smoodt Edges
- 0.5px / 0.25px
- Color
- black / transparent
Overlay Icons
- Size
- 11x11px
BiDi (Bidirectional) Support
This icon set includes logical icon variants that support bidirectional languages (Arabic, Hebrew, etc.).
- Logical Icons
- Use
-start/-endfor navigation and reading direction (previous/next, back/forward) - Physical Icons
- Use
-left/-rightfor absolute positioning (west/east, align left/right) - Implementation
- Icons with
bidi: trueautomatically receive theicon-bidiclass and flip in RTL mode - Example
-
LTR (Left-to-Right)Previous NextRTL (Right-to-Left)السابق التالي
Module Icons
Module icons are used in the TYPO3 backend navigation. They are designed at 64x64px but typically rendered at 32x32px.
Canvas & Scaling
- Canvas Size
- 64x64px
- Rendered Size
- 32x32px (typical display size)
- Protective Space
- 12px from edges (content area: 40x40px centered)
- Stroke Width
- 4px (scales to 2px at 32x32)
- Corner Radius
- 2px for small elements, 4px for larger shapes
Colors
- Primary Elements
- Use
fill="currentColor"for main shapes. This allows the icon to inherit the text color from its context. - Secondary Elements
- Use
fill="currentColor"withopacity=".4"for less prominent details. - Accent Elements
-
Use
fill="var(--icon-color-accent, #ff8700)"for highlighted parts of the icon. The CSS variable allows theming while the fallback ensures the icon works standalone.
Structure Example
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
<!-- Primary shape -->
<path d="..." fill="currentColor"/>
<!-- Secondary/detail elements -->
<path d="..." fill="currentColor" opacity=".4"/>
<!-- Accent highlight -->
<rect ... fill="var(--icon-color-accent, #ff8700)"/>
</svg>
Example
Module icons adapt to their context. The currentColor elements inherit the text color, while the accent color can be customized via the --icon-color-accent CSS variable.
Light Background
Dark Background
Custom Accent
Design Tips
- Design at 64x64 but preview at 32x32 to ensure clarity at the rendered size
- Use even stroke widths (4px recommended) for crisp scaling
- Keep details simple - fine lines may disappear at smaller sizes
- Test with both light and dark backgrounds since
currentColoradapts - Limit accent color usage to small highlights that draw attention to the icon's purpose
Build
npm ci
npm run stylelint
npm run icons-build
npm run version-build
Site
npm ci
npm run site-build
npm run site-serve
Release
npm version [major | minor | patch]
git push origin main --tags
npm publish
Commit Message Convention
This project follows a commit message convention where each commit should be prefixed with a type:
[FEATURE]- New features or functionality[BUGFIX]- Bug fixes[TASK]- General maintenance tasks (refactoring, dependencies, etc.)[DOCS]- Documentation changes[!!!]or[BREAKING]- Breaking changes
The automated changelog generation categorizes commits based on these prefixes. Release commits with [RELEASE] prefix are automatically excluded from the changelog.