Skip to content
Tutorial

Iconos de apps móviles: mejores prácticas SVG para iOS y Android

Crea iconos de apps que se vean perfectos en cada dispositivo. Mejores prácticas SVG para iOS y Android, requisitos de tamaño y consejos de optimización.

Robin Monteiro16 de enero de 202610 de octubre de 202614 min
Use this article with an AI assistant:
.md
Iconos de apps móviles: mejores prácticas SVG para iOS y Android
R
Robin Monteiro

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

Image vectorizationCutting machine filesEmbroidery filesSVG
Free previewNo signupFull-quality output

Key Takeaways

  • Los iconos SVG se escalan perfectamente en todas las densidades — pero solo si los preparas correctamente para cada plataforma
  • iOS requiere assets PDF o SVG en Xcode Asset Catalogs; Android usa Vector Drawables (subconjunto SVG basado en XML)
  • Siempre aplana las transformaciones, vectoriza los trazos y elimina capas ocultas antes de exportar iconos para móvil
  • Prueba los iconos a 16px, 24px, 48px y 64px para detectar problemas de renderizado antes de producción
  • Mantén los archivos SVG bajo 5KB por icono para rendimiento móvil óptimo
  • Usa un SVG fuente único y automatiza las exportaciones específicas de cada plataforma

Todo desarrollador móvil ha vivido este momento: integras un icono bellamente diseñado en tu app, compilas, lanzas el simulador — y ves una forma borrosa, desalineada o completamente invisible. El icono se veía perfecto en Figma, impecable en el navegador. Pero en un dispositivo real, algo salió mal.

La brecha entre diseñar un icono SVG y entregarlo dentro de una app móvil nativa es más amplia de lo que la mayoría de equipos imaginan. iOS y Android manejan assets vectoriales a través de pipelines completamente diferentes.

Proceso de vectorización de iconos de apps móviles
Convirtiendo iconos raster a vectores SVG limpios para despliegue móvil

Por qué los iconos SVG importan para el móvil

Las pantallas móviles vienen en una variedad mareante de tamaños y densidades de píxeles. Un dispositivo Android moderno puede funcionar a 1x, 1.5x, 2x, 3x o incluso 4x. Los iPhones vienen en 2x y 3x.

Los iconos SVG resuelven esto definiendo formas matemáticamente. Un archivo, resolución infinita. Pero "solo usa SVGs" subestima la complejidad involucrada.

El desafío central: Ni iOS ni Android renderizan nativamente archivos .svg en sus frameworks UI estándar. Ambas plataformas convierten los SVG en formatos intermedios — assets PDF para iOS y VectorDrawable XML para Android.

Beneficios de hacerlo bien:

  • Bundles de app más pequeños — un asset vectorial reemplaza 4-5 exportaciones raster
  • Renderizado pixel-perfect en cada densidad de pantalla
  • Mantenimiento más fácil — actualiza un archivo fuente, regenera todos los targets
  • Mejor accesibilidad — las formas vectoriales pueden llevar metadatos semánticos
  • A prueba de futuro — sin re-exportación cuando surgen nuevas densidades
"

Redujimos nuestra carpeta de assets de iconos de 2.400 archivos a 380 al cambiar a un pipeline vector-first. Los tiempos de build bajaron y los handoffs de diseño se simplificaron.

— Lead Mobile Engineer, startup fintech

Preparar SVGs para exportación móvil

Antes de pensar en formatos específicos, tus SVGs fuente necesitan estar limpios. Los motores de renderizado móvil son mucho menos tolerantes que los navegadores web.

La checklist SVG limpio

1. Aplana todas las transformaciones. Las transforms CSS y SVG en elementos grupo a veces serán ignoradas por los conversores móviles.

2. Vectoriza todos los trazos. El formato VectorDrawable de Android tiene soporte limitado de strokes. Convierte los trazos a paths rellenos.

3. Elimina capas ocultas y metadatos. Las herramientas de diseño integran metadatos, capas ocultas y definiciones sin usar.

4. Usa un viewBox consistente. Estandariza en 0 0 24 24 para iconos UI.

5. Simplifica los paths. Menos puntos = archivos más pequeños, renderizado más rápido.

Iconos SVG en diseño UI móvil
Iconos SVG limpios y bien estructurados listos para despliegue móvil

Ejemplo de icono SVG correctamente limpiado:

xml
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
        fill="currentColor"/>
</svg>

Warning: Evita imágenes raster incrustadas dentro de SVGs. Algunas herramientas de diseño exportan iconos con PNGs incrustados para efectos complejos. Estos fallarán en la conversión o inflarán el tamaño del archivo.


iOS: Asset Catalogs y vectores PDF

El enfoque recomendado por Apple para iconos vectoriales es usar assets PDF dentro de Xcode Asset Catalogs. Desde Xcode 12, Apple también soporta assets SVG directamente, pero PDF sigue siendo el camino más probado.

Configuración de assets vectoriales en Xcode

  1. Abre tu Asset Catalog (.xcassets)
  2. Crea un nuevo Image Set
  3. En el inspector de atributos, establece Scales a "Single Scale"
  4. Establece Resizing a "Preserve Vector Data"
  5. Arrastra tu archivo PDF o SVG
xml
<!-- Contents.json para un asset vectorial -->
{
  "images" : [
    {
      "filename" : "icon-settings.svg",
      "idiom" : "universal"
    }
  ],
  "properties" : {
    "preserves-vector-representation" : true
  }
}

Pro Tip: Siempre marca "Preserve Vector Data" en el inspector de assets de Xcode. Sin este flag, Xcode rasterizará tu vector en tiempo de build. Esta casilla es el error más común de iconos vectoriales en iOS.

Tamaños de iconos iOS

ContextoTamaño (pt)EscalaPíxeles
iPhone Notificación20x202x, 3x40x40, 60x60
iPhone Ajustes29x292x, 3x58x58, 87x87
iPhone Spotlight40x402x, 3x80x80, 120x120
iPhone App60x602x, 3x120x120, 180x180
iPad App76x761x, 2x76x76, 152x152
iPad Pro App83.5x83.52x167x167
App Store1024x10241x1024x1024

Al diseñar iconos SVG para estos tamaños, prueba primero al tamaño más pequeño.


A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

Android: Vector Drawables

Android maneja iconos vectoriales a través de su propio formato XML llamado VectorDrawable. Es esencialmente un subconjunto de SVG.

Conversión SVG a VectorDrawable

Android Studio incluye un conversor integrado: Vector Asset Studio (File → New → Vector Asset).

xml
<!-- res/drawable/ic_check_circle.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tintMode="src_in"
    android:tint="?attr/colorControlNormal">
  <path
      android:fillColor="@android:color/white"
      android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm-2,15l-5,-5 1.41,-1.41L10,14.17l7.59,-7.59L19,8l-9,9z"/>
</vector>

Uso de Vector Drawables en layouts

xml
<ImageView
    android:layout_width="24dp"
    android:layout_height="24dp"
    app:srcCompat="@drawable/ic_check_circle"
    android:contentDescription="@string/check_icon_desc" />

Usa app:srcCompat en lugar de android:src. El atributo srcCompat de la librería AndroidX proporciona renderizado vectorial retrocompatible para dispositivos bajo API 21.

Referencia de tamaños de iconos Android

DensidadEscalaTamaños iconos (comunes)DPI
mdpi (base)1x24x24, 48x48~160
hdpi1.5x36x36, 72x72~240
xhdpi2x48x48, 96x96~320
xxhdpi3x72x72, 144x144~480
xxxhdpi4x96x96, 192x192~640

Con VectorDrawable, defines los iconos una vez en dp y el sistema maneja el escalado automáticamente.

Iconos SVG para web y apps móviles
Los iconos SVG hacen de puente entre web y plataformas móviles nativas

Pipeline automatizado de iconos

Las exportaciones manuales son fuente de inconsistencias. Mantén un SVG fuente único para cada icono y automatiza las conversiones.

Paso 1: Optimizar el SVG fuente

css
/* Ejemplo config SVGO (svgo.config.js) */
module.exports = {
  plugins: [
    'preset-default',
    'removeDimensions',
    'removeXMLNS',
    {
      name: 'removeAttrs',
      params: {
        attrs: ['data-*', 'class']
      }
    },
    {
      name: 'addAttributesToSVGElement',
      params: {
        attributes: [
          { xmlns: 'http://www.w3.org/2000/svg' }
        ]
      }
    }
  ]
};

Paso 2: Generar assets por plataforma

Convierte los SVGs optimizados a:

  • PDF para iOS (usando svgexport o cairosvg)
  • VectorDrawable XML para Android (usando svg2vectordrawable)
  • SVG optimizado para web/PWA

Paso 3: Validar la salida

  • Verificar tamaños de archivo (alertar por encima de 5KB)
  • Verificar consistencia del viewBox
  • Escanear elementos no soportados
  • Renderizar a tamaños objetivo y comparar con capturas de referencia

Pro Tip: Integra la validación de iconos en tu pipeline CI. Un script que verifique tamaños, valide la estructura XML VectorDrawable y señale elementos no soportados capturará el 90% de los problemas de iconos.


Errores comunes y cómo corregirlos

1. Usar trazos en lugar de rellenos

Problema: Un icono usa paths con trazo que se ven bien en el navegador pero renderizan con grosor inconsistente en móvil.

Corrección: Convierte todos los trazos a rellenos antes de exportar. En Figma: "Outline Stroke". En Illustrator: Objeto → Trazado → Contornear trazo.

2. ViewBox no estándar

Problema: Los iconos tienen viewBox inconsistentes.

Corrección: Estandariza en un viewBox único. 0 0 24 24 es la convención más común.

3. Fuentes y texto incrustados

Corrección: Convierte todo el texto a paths antes de exportar. Siempre. Sin excepciones.

4. Olvidar el modo oscuro

Corrección: Usa currentColor como valor de relleno. En iOS, usa el modo de renderizado template. En Android, aplica tintes vía android:tint.

5. Ignorar la accesibilidad

Corrección: Siempre establece contentDescription en Android y accessibilityLabel en iOS.

Warning: La trampa de "funciona en mi dispositivo": El renderizado de iconos varía significativamente entre dispositivos, versiones de OS y capas de fabricante. Prueba siempre en al menos 3 dispositivos Android diferentes y dispositivos iOS 2x y 3x.


Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

Consideraciones de rendimiento

ComplejidadComandos pathTamaño archivoTiempo renderizado (est.)
Simple (check, flecha)5-10<1KB<0,5ms
Medio (engranaje, usuario)15-301-3KB0,5-1ms
Complejo (ilustración detallada)50-100+3-8KB1-3ms
Demasiado complejo (considerar raster)200+10KB+3ms+
Iconos móviles en pantallas de dispositivos
Iconos basados en SVG renderizándose nítidamente en diferentes tamaños y densidades de dispositivos

Uniendo todo

  1. Diseña iconos en una grilla estandarizada (24x24 recomendado) con paths rellenos, sin trazos, sin texto, sin efectos incrustados
  2. Limpia el SVG — aplana transforms, vectoriza trazos, elimina metadatos, optimiza con SVGO
  3. Convierte a formatos de plataforma — PDF/SVG para iOS Asset Catalogs, VectorDrawable XML para Android
  4. Valida — verifica tamaños, renderiza a tamaños objetivo, verifica labels de accesibilidad
  5. Automatiza — intégralo en tu CI/CD

Si trabajas con iconos raster existentes o logos complejos que necesitan convertirse a vectores limpios, VectoSolve puede encargarse del trabajo pesado. Nuestro motor de vectorización con IA produce SVGs limpios y optimizados, listos para pipelines de exportación móvil.

Tags:
móvil
iconos app
iOS
Android
diseño
Share:

Try VectoSolve Now

Convert your images to high-quality SVG vectors with AI

AI-Powered Vectorization

Ready to vectorize your images?

Convert your PNG, JPG, and other images to high-quality, scalable SVG vectors in seconds.