Best Practices voor SVG App-iconen: Gids voor iOS en Android
Complete gids voor het maken van perfecte SVG-iconen voor iOS- en Android-apps, met afmetingen, formaten en performance-optimalisatie.
Founder of VectoSolve
Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.
How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author
App-iconen zijn het eerste contactpunt met je gebruikers. Of je nu ontwikkelt voor iOS of Android, het begrijpen van het maken en optimaliseren van SVG-iconen is essentieel voor een professioneel uiterlijk op elk apparaat.
Waarom SVG voor app-iconen
SVG-bestanden zijn het ideale bronformaat voor app-iconen. In tegenstelling tot rasterafbeeldingen schalen SVG's zonder kwaliteitsverlies van kleine 20x20 iconen tot grote marketingweergaven. Beheer één SVG-bronbestand en genereer alle benodigde formaten daaruit.
Belangrijkste voordelen
- Resolutie-onafhankelijk — Eén bronbestand voor alle formaten
- Klein bestandsformaat — Meestal 1-5 KB tegenover 50-200 KB voor PNG
- Bewerkbaar — Wijzig kleuren en vormen direct
- Toekomstbestendig — Klaar voor elke toekomstige resolutie
iOS-icoonspecificaties
Apple vereist specifieke iconen voor verschillende contexten. Dit zijn de benodigde afmetingen:
| Context | Afmeting (pt) | @2x (px) | @3x (px) |
|---|---|---|---|
| iPhone App | 60×60 | 120×120 | 180×180 |
| iPad App | 76×76 | 152×152 | — |
| iPad Pro | 83.5×83.5 | 167×167 | — |
| App Store | 1024×1024 | — | — |
| Spotlight | 40×40 | 80×80 | 120×120 |
| Instellingen | 29×29 | 58×58 | 87×87 |
| Melding | 20×20 | 40×40 | 60×60 |
iOS-ontwerprichtlijnen
- Gebruik een vierkant canvas (geen afgeronde hoeken — iOS past het masker automatisch toe)
- Vermijd transparantie (iOS ondersteunt dit niet bij app-iconen)
- Houd belangrijke elementen binnen de veilige zone (~80% van het centrale gebied)
- Test op zowel lichte als donkere achtergronden
{
"images": [
{
"size": "60x60",
"idiom": "iphone",
"filename": "icon-60@2x.png",
"scale": "2x"
},
{
"size": "60x60",
"idiom": "iphone",
"filename": "icon-60@3x.png",
"scale": "3x"
},
{
"size": "1024x1024",
"idiom": "ios-marketing",
"filename": "icon-1024.png",
"scale": "1x"
}
]
}
Android-icoonspecificaties
Android gebruikt adaptieve iconen met aparte lagen voor voorgrond en achtergrond, wat een aanpasbare ervaring biedt.
| Dichtheid | Schaal | Afmeting (px) |
|---|---|---|
| mdpi | 1x | 48×48 |
| hdpi | 1.5x | 72×72 |
| xhdpi | 2x | 96×96 |
| xxhdpi | 3x | 144×144 |
| xxxhdpi | 4x | 192×192 |
| Google Play | — | 512×512 |
Adaptieve iconen in Android
Vanaf Android 8.0 (API 26) gebruiken adaptieve iconen een tweelagig systeem waarmee het systeem verschillende maskers kan toepassen (cirkel, squircle, afgeronde rechthoek).
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
VectorDrawable voor Android
Android ondersteunt native VectorDrawable-bestanden, een SVG-achtig formaat geoptimaliseerd voor Android-resources:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2z"/>
</vector>
SVG-optimalisatie voor iconen
Optimaliseer je SVG's voordat je ze converteert naar app-resources om de bestandsgrootte te verkleinen en het renderen te verbeteren:
// SVGO-configuratie voor app-iconen
module.exports = {
plugins: [
'removeDoctype',
'removeComments',
'removeMetadata',
{
name: 'removeViewBox',
active: false // Behoud viewBox voor schaalbaarheid
},
'cleanupIds',
'mergePaths',
'convertShapeToPath',
{
name: 'convertPathData',
params: { precision: 2 }
}
]
};
Performance-resultaten
| Metriek | Voor | Na Optimalisatie | Reductie |
|---|---|---|---|
| Bestandsgrootte | 12,4 KB | 3,1 KB | 75% |
| Pad-knooppunten | 847 | 234 | 72% |
| Rendertijd | 4,2 ms | 1,8 ms | 57% |
SVG naar app-resources converteren
Met VectoSolve kun je je SVG's converteren naar precies de afmetingen die nodig zijn voor iOS en Android. Upload je SVG, selecteer de doelafmetingen en download pixel-perfecte resources.
Aanbevolen workflow
- Ontwerp — Maak je icoon als SVG in een vector-editor
- Optimaliseer — Gebruik SVGO of VectoSolve om de SVG op te schonen
- Test — Controleer op de kleinste (20×20) en grootste (1024×1024) afmetingen
- Exporteer — Genereer alle benodigde varianten
- Verifieer — Controleer op echte apparaten
Veelgemaakte fouten
- Te veel detail — Kleine iconen verliezen fijne details. Vereenvoudig onder 48px
- Tekst in iconen — Onleesbaar op kleine formaten. Gebruik vormen en symbolen
- Raster-effecten — Schaduwen en blur schalen niet goed. Gebruik solide vormen
- Donkere modus negeren — Zorg dat het icoon zichtbaar is op lichte en donkere achtergronden
- Veilige zone — Op Android: houd kernelementen binnen de 72dp veilige zone
Testen en validatie
Voordat je je app indient, controleer de iconen op:
- Verschillende apparaten (kleine telefoons, tablets, desktops)
- Lichte en donkere modus
- Verschillende Android-maskers (cirkel, squircle, afgeronde rechthoek)
- Met en zonder notificatiebadges
- Naast concurrerende iconen in de app store
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@mipmap/ic_launcher"
android:contentDescription="App Icon"
tools:srcCompat="@mipmap/ic_launcher" />
Conclusie
App-iconen maken vanuit SVG is de meest efficiënte workflow om de grote verscheidenheid aan resoluties te ondersteunen die iOS en Android vereisen. Bewaar je masterbestand als SVG, optimaliseer voor export en test altijd op echte apparaten.
Klaar om je SVG-iconen te converteren? Probeer VectoSolve om automatisch alle benodigde resources voor je app te genereren.