← All NIPs

NIP-24

Extra metadata fields and tags

DraftEvents

A catalogue of widely used extras that no other NIP owns: profile fields like display_name, website, banner, bot and birthday, plus the generic r, i, title and t tags.

At a glance

Status
In use and still allowed to change.
Last changed
Aug 11, 2025

Try it

Edit the form or the JSON: both stay in sync, the badge says whether the result is valid, and tapping any field explains it.

What to build
Examples
Valid 1 note

Not signed yet · Demo keys only. These personas' secret keys are public on purpose.

Form
Jan 1, 2025, 12:00 AM UTC

Content

Stringified JSON object with the profile fields.

Profile fields. Unknown fields are allowed; clients ignore what they don't know.

Short name or handle. Always set it, even when display_name is present.

A longer, richer display name. Can include spaces and emoji.

A short bio.

A web page related to the author.

URL of a wide (about 1024×768) image shown behind the profile header.

birthday

Birth date as an object. Each of year, month and day may be left out.

Month from 1 to 12.

Day of the month from 1 to 31.

Tags

No tags yet.

Add tag

How this NIP works

Step 1 of 4

name and display_name

name is the short handle and should always be set. display_name is a longer name that can use any characters and emoji.

In the course

No course chapter covers this NIP yet. The editor above is the quickest way in.

Extends

Replaces

Specification

Specification text is quoted in English from the nostr-protocol/nips repository. Our explanations and the interface are translated. Source on GitHub at commit 0046368

Read the spec341 words, quoted from the repository at commit 0046368.

This NIP keeps track of extra optional fields that can added to events which are not defined anywhere else but have become de facto standards and other minor implementation possibilities that do not deserve their own NIP and do not have a place in other NIPs.

kind 0

These are extra fields not specified in NIP-01 that may be present in the stringified JSON of metadata events:

  • display_name: an alternative, bigger name with richer characters than name. name should always be set regardless of the presence of display_name in the metadata.
  • website: a web URL related in any way to the event author.
  • banner: an URL to a wide (~1024x768) picture to be optionally displayed in the background of a profile screen.
  • bot: a boolean to clarify that the content is entirely or partially the result of automation, such as with chatbots or newsfeeds.
  • birthday: an object representing the author's birth date. The format is { "year": number, "month": number, "day": number }. Each field MAY be omitted.
Deprecated fields

These are fields that should be ignored or removed when found in the wild:

  • displayName: use display_name instead.
  • username: use name instead.

kind 3

These are extra fields not specified in NIP-02 that may be present in the stringified JSON of follow events:

Deprecated fields
  • {<relay-url>: {"read": <true|false>, "write": <true|false>}, ...}: an object of relays used by a user to read/write. NIP-65 should be used instead.

tags

These tags may be present in multiple event kinds. Whenever a different meaning is not specified by some more specific NIP, they have the following meanings:

  • r: a web URL the event is referring to in some way.
  • i: an external id the event is referring to in some way - see NIP-73.
  • title: name of NIP-51 sets, NIP-52 calendar event, NIP-53 live event or NIP-99 listing.
  • t: a hashtag. The value MUST be a lowercase string.