Selector de Emojis: buscar y copiar emojis
Selector de emojis con más de 3.700 emojis de Unicode 15.1. Busca por nombre, explora 9 categorías, elige tono de piel y haz clic para copiar.
¿Qué es el Selector de Emojis?
Construí este selector porque me cansé de abrir el panel de emojis del sistema solo para coger las mismas cinco caras y acabar desplazándome durante dos minutos. Escribir, hacer clic, pegar — ese es todo el flujo. El conjunto de datos es Unicode 15.1 (más de 3.700 emojis), organizado en nueve categorías, con un cuadro de búsqueda que coincide por nombre y palabra clave, seis tonos de piel Fitzpatrick para los emojis de personas y una fila de Recientes que recuerda lo que copiaste en la sesión.
Funciones principales
El conjunto de datos es Unicode 15.1 — cada cara, mano, comida, bandera y símbolo añadido hasta 2023, tomado directamente del estándar. Las categorías son las nueve que define el Consorcio Unicode: Caras y emoción, Personas y cuerpo, Animales y naturaleza, Comida y bebida, Viajes y lugares, Actividades, Objetos, Símbolos y Banderas. Una fila de Recientes se sitúa junto a los botones de categoría y registra lo que copiaste durante la sesión, persistido en localStorage bajo RECENT_EMOJIS_KEY y limitado a MAX_RECENT_EMOJIS entradas.
La búsqueda consulta tanto el nombre del emoji como su lista de palabras clave, así que escribir heart devuelve ❤️ y también 💛, 💚, 💙, 💘. Los tonos de piel usan la escala Fitzpatrick (predeterminado + cinco modificadores); seleccionar uno lo aplica a cada emoji de persona que admita modificadores, y los emojis con hasSkinTone === false (objetos, banderas, comida) ignoran la selección. Hacer clic en un emoji escribe en el portapapeles, hace parpadear una superposición verde de visto bueno sobre la celda durante 1,5 segundos y dispara un toast — tres capas de confirmación porque las escrituras al portapapeles son fáciles de pasar por alto.
La cuadrícula es responsiva: 8 columnas en pantallas de móvil, 10 en tabletas, 12 en escritorio. La altura está fijada en 400px con desplazamiento vertical para las categorías más grandes.
Cómo usarlo
Abre el Próximamente: Selector de Emojis — arranca en Caras y emoción. Haz clic en cualquier otro botón de categoría para cambiar. Si quieres un tono, elige uno de la fila de seis botones de mano saludando antes de hacer clic en cualquier emoji; el tono seleccionado se aplica al copiar, así que 👋 con un tono medio seleccionado se convierte en 👋🏽 en tu portapapeles. La búsqueda gana al desplazamiento para cualquier cosa que sepas nombrar: escribe coffee y ☕, 🧋 aparecen al instante. Borra el campo para volver a la navegación por categorías.
La fila de Recientes (icono de reloj, extrema izquierda de la barra de categorías) mantiene el historial de la sesión en orden de copia. Recientes guarda el emoji base sin modificador de tono — tu selección de tono actual se reaplica al copiar, así que cambiar de tono no altera el historial.
Ejemplos prácticos
Componer un mensaje de Slack sobre un lanzamiento:
Búsqueda: fire → clic 🔥
Búsqueda: rocket → clic 🚀
Ambas copias caen en Recientes para el siguiente mensaje.
Elegir la bandera de un país sin recordar en qué fila vive:
Categoría Banderas → búsqueda: brazil → clic 🇧🇷
Mantener tonos de piel coherentes en un mensaje:
Tono: oscuro (5º botón) → clic 👍, 🙏, 🤝
Portapapeles recibe 👍🏿 → 🙏🏿 → 🤝🏿
Consejos y buenas prácticas
Las selecciones de tono y categoría se guardan en el estado del componente y se restauran desde un preset (función premium) — los presets guardados capturan tanto selectedSkinTone como selectedCategory.
La búsqueda no se ordena por relevancia. Los resultados salen en el orden natural del conjunto de datos, así que términos amplios como heart o face devuelven muchos; términos estrechos como anguished devuelven uno o dos. Si una búsqueda sale vacía, prueba un sinónimo: sob en lugar de cry, grin en lugar de big smile, poop si brown no saca lo que esperabas. Los nombres del conjunto son nombres Unicode formales y no siempre coinciden con la expresión coloquial.
Los modificadores de tono solo se aplican a emojis con hasSkinTone === true. Banderas, comida, objetos y símbolos se quedan amarillos sea cual sea el tono seleccionado.
Problemas comunes y solución
Recientes está vacío después de varias copias. La lista lee de localStorage. Las ventanas privadas/incógnito y los navegadores con localStorage desactivado no la persistirán — las copias dentro de la sesión siguen apareciendo en memoria, pero se reinician al recargar.
El emoji pegado aparece como cuadro o signo de interrogación. La aplicación o plataforma receptora no admite ese codepoint de Unicode 15.1. Los emojis añadidos en 2022–2023 pueden no renderizarse en versiones antiguas de Android, sistemas operativos antiguos o apps que no han actualizado su fuente de emojis. Los emojis más antiguos de 2015–2019 funcionan en todas partes.
El toast dice "copiado" pero el portapapeles tiene el tono incorrecto. Hay un modificador de tono de piel seleccionado. Haz clic en el botón de tono más a la izquierda (predeterminado) para retirarlo y vuelve a copiar.
Privacidad y seguridad
La búsqueda, el filtrado de categorías, la aplicación de tono de piel y las escrituras al portapapeles se ejecutan localmente. El conjunto de datos completo de emojis viene incluido en el JavaScript de la página. No se envían a ningún sitio consultas, caracteres copiados ni datos de uso. Los emojis recientes viven en localStorage y se quedan en tu dispositivo. Tras la primera carga, el selector funciona sin conexión.
Preguntas frecuentes
¿Cómo funciona la selección de tono de piel?
Los tonos de piel en Unicode usan codepoints modificadores de la escala Fitzpatrick (U+1F3FB a U+1F3FF) añadidos detrás del codepoint del emoji base. El selector llama a applySkintone(emoji.emoji, selectedSkinTone), que concatena el modificador cuando la bandera hasSkinTone del emoji es true. Los emojis que no admiten tonos se copian sin modificar.
¿Cuántos emojis puedo guardar en Recientes?
La lista de Recientes está limitada a MAX_RECENT_EMOJIS entradas. Las copias nuevas pasan al frente; la más antigua se descarta al alcanzar el límite. Volver a copiar un emoji lo lleva al frente en lugar de duplicarlo.
¿Puedo buscar en idiomas distintos del inglés?
No. La búsqueda consulta nombres y palabras clave del conjunto de datos, que son los nombres ingleses formales del estándar Unicode. Usa palabras clave en inglés.
¿Por qué hacer clic en un emoji muestra una superposición verde?
Confirmación visual de que la copia tuvo éxito. La superposición se mantiene 1,5 segundos (setTimeout(() => setCopiedEmoji(null), 1500)) y luego se desvanece. El toast lateral confirma el carácter exacto que se copió.
Prueba el Selector de Emojis ahora: Próximamente: Selector de Emojis
Herramientas relacionadas
- Próximamente: Tabla ASCII — Consulta códigos de carácter para caracteres no-emoji en el rango ASCII.
- Próximamente: Selector Aleatorio — Selección aleatoria de una lista propia.