← Todos los NIPs

NIP-30

Emoji personalizados

BorradorEventos

Usa tus propias imágenes como emoji: escribe :shortcode: en el texto y añade un tag emoji que asocie el shortcode a una URL de imagen. Funciona en perfiles, notas, comentarios, reacciones y estados.

De un vistazo

Estado
En uso, pero todavía puede cambiar.
Tags
  • emoji
Último cambio
25 ago 2026

Pruébalo

Edita el formulario o el JSON: ambos se mantienen sincronizados, la insignia indica si el resultado es válido y, al tocar cualquier campo, se explica qué hace.

Qué construir
Ejemplos
Válido 1 nota

Aún sin firmar · Solo claves de demo. Las claves secretas de estos personajes son públicas a propósito.

Formulario
1 ene 2025, 0:00 UTC

Contenido

Texto con marcadores :shortcode:, uno por cada tag emoji.

Tags

  1. emoji Opcional

    Define un emoji personalizado usado en este evento.

  2. emoji Opcional

    Define un emoji personalizado usado en este evento.

Añadir tag

Cómo funciona este NIP

Paso 1 de 4

Asocia un shortcode a una imagen

Cada tag emoji es ["emoji", shortcode, URL de la imagen]. El shortcode solo puede usar letras, dígitos, - y _.

En el curso

Ningún capítulo del curso cubre este NIP todavía. El editor de arriba es la forma más rápida de empezar.

Usado por

Ver también

Especificación

El texto de las especificaciones se cita en inglés del repositorio nostr-protocol/nips. Nuestras explicaciones y la interfaz están traducidas. Código fuente en GitHub en el commit 0046368

Leer la especificación285 palabras, citadas del repositorio en el commit 0046368.

Custom emoji may be added to kind 0, kind 1, kind 1111 (NIP-22), kind 7 (NIP-25) and kind 30315 (NIP-38) events by including one or more "emoji" tags, in the form:

["emoji", <shortcode>, <image-url>, <emoji-set-address>]

Where:

  • <shortcode> is a name given for the emoji, which MUST be comprised of only alphanumeric characters, hyphens, and underscores.
  • <image-url> is a URL to the corresponding image file of the emoji.
  • <emoji-set-address> is an optional address pointer (kind:pubkey:d-tag) to the kind 30030 emoji set (NIP-51) the emoji belongs to.

For each emoji tag, clients should parse emoji shortcodes (aka "emojify") like :shortcode: in the event to display custom emoji.

Clients may allow users to add custom emoji to an event by including :shortcode: identifier in the event, and adding the relevant "emoji" tags.

Kind 0 events

In kind 0 events, the name and about fields should be emojified.

{
  "kind": 0,
  "content": "{\"name\":\"Alex Gleason :soapbox:\"}",
  "tags": [
    ["emoji", "soapbox", "https://gleasonator.com/emoji/Gleasonator/soapbox.png"]
  ],
  "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",
  "created_at": 1682790000
}

Kind 1 events

In kind 1 events, the content should be emojified.

{
  "kind": 1,
  "content": "Hello :gleasonator: 😂 :ablobcatrainbow: :disputed: yolo",
  "tags": [
    ["emoji", "ablobcatrainbow", "https://gleasonator.com/emoji/blobcat/ablobcatrainbow.png", "30030:79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6:blobcats"],
    ["emoji", "disputed", "https://gleasonator.com/emoji/Fun/disputed.png"],
    ["emoji", "gleasonator", "https://gleasonator.com/emoji/Gleasonator/gleasonator.png"]
  ],
  "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",
  "created_at": 1682630000
}

Kind 1111 events

In kind 1111 events, the content should be emojified.

{
  "kind": 1111,
  "content": "Let's party! :hyves_banaan:",
  "tags": [
    ["emoji", "hyves_banaan", "https://relay.nyves.nl/8408b236b11fe5c764d139d37e670d5207b3825fe6396392799b02c4e6bd2ebf.gif", "30030:9919981db5d9f59713bd717069212c32a19b55f2280a51e70c49c5b73da306b9:Hyves"]
  ],
  "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",
  "created_at": 1682630000
}

Kind 7 events

In kind 7 events, the content should be emojified.

{
  "kind": 7,
  "content": ":dezh:",
  "tags": [
    ["emoji", "dezh", "https://raw.githubusercontent.com/dezh-tech/brand-assets/main/dezh/logo/black-normal.svg"]
  ],
  "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",
  "created_at": 1682630000
}