229 rounded icons for apps and the web, in five finishes. Line and Soft are the original flat set; Clay, Layers and Glass stack shadows, bodies and highlights for depth. Every finish comes from one color you choose.
Each icon is a small stack of flat layers. Offsets and shading fake the volume; spreading the layers apart in CSS 3D makes it real enough to tilt.
The finish you pick in the toolbar decides the layers. This is the current one, taken apart.
Shadows and sides sit lower and slightly offset down, like light coming from above. The face carries a white gradient that fades out by two thirds of the way down, which reads as a rounded top.
Every layer is built from currentColor plus black or white at fixed opacities.
Set color and the body, the darker side and the highlight all follow. Nothing needs a second palette, so any brand color works.
.upload-button { color: #1F7A8C; } /* shadow, side, face and carve all follow */
Two flat, three with depth. Pick the one that suits the surface the icons sit on.
Copy a single flattened SVG, or keep the layers separate to tilt them.
Copy SVG in the icon panel gives one self-contained file with the layers baked in as offsets. It works anywhere an SVG does, including design tools.
For the tilting effect, put each layer in its own element and push it forward on the Z axis:
.stack { transform-style: preserve-3d; transform: rotateX(14deg) rotateY(-18deg); } .stack svg { position: absolute; inset: 0; transform: translateZ(calc(var(--z) * 2px)); } .stack .shadow { --z: 0; filter: blur(1.5px); } .stack .face { --z: 2; }
The parent needs a perspective value, around 400px for small icons and 900px for large ones.
Use Line for idle tabs and your chosen finish for the active one. Switch the phone to Arabic to see directional icons mirror.
Icons that point somewhere, like back arrows, chevrons, send and reply, should flip in right-to-left layouts. Icons that show a real object or a clock direction, like refresh, play and the phone, stay as they are. The icon panel marks the ones that flip.
[dir="rtl"] .pi-mirror { transform: scaleX(-1); } // iOS: set the asset's Direction to "Left to Right, Mirrors" // Android: android:autoMirrored="true" on the vector drawable
Download every icon at once, in the finish, color and weight you have selected above.
tintColor on iOS or app:tint on Android.Depth is decoration. Keep meaning in the label.
aria-hidden="true" on the wrapper, and name icon-only buttons with aria-label.