NFT Metadata Generator

Generate ERC-721 and ERC-1155 compliant JSON metadata for NFTs with attributes, traits, images, and animation URLs.

Metadata Form

Add traits like Background, Skin, Eyes, Rarity, Power Level, etc.

How to Use

  1. Fill in the metadata fields — Enter the NFT name, description, image URL, and optional fields.
  2. Add attributes — Click "Add Attribute" to add traits. Each trait has a name, value, display type, and optional max value.
  3. Copy or download — Copy the generated JSON to your clipboard or download it as a .json file.
  4. Use with your NFT — Upload the JSON to your metadata endpoint (IPFS, Arweave, or centralized server) and reference the URI in your smart contract.

All metadata generation is performed 100% client-side in your browser. No data is sent to any server.

What Is NFT Metadata?

NFT metadata is a JSON document that describes an NFT's properties. It follows the ERC-721 (and ERC-1155) metadata standard, which defines how NFT metadata should be structured so that marketplaces like OpenSea, Rarible, and others can properly display your NFTs.

The standard metadata schema includes fields like name, description, image, and attributes (also called traits). The attributes array allows you to define on-chain properties of your NFT, which marketplaces display as trait badges.

Key metadata fields and their purposes:

  • name — The display name of the NFT (e.g., "CyberPunk #1337")
  • description — A human-readable description of the NFT
  • image — URL to the NFT's image (PNG, GIF, SVG, etc.)
  • animation_url — URL to a multimedia attachment (video, audio, 3D model)
  • attributes — Array of trait objects with trait_type, value, optional display_type, and max_value
  • background_color — Background color to display behind the image (hex without #)

ERC-721 Metadata Schema

{
    "name": "NFT Name",
    "description": "Description text",
    "image": "https://...",
    "external_url": "https://...",
    "animation_url": "https://...",
    "background_color": "0d0d1a",
    "youtube_url": "https://youtube.com/...",
    "attributes": [
        {
            "trait_type": "Background",
            "value": "Neon City"
        },
        {
            "trait_type": "Power Level",
            "display_type": "number",
            "value": 9000,
            "max_value": 10000
        },
        {
            "trait_type": "Boost",
            "display_type": "boost_percentage",
            "value": 45,
            "max_value": 100
        }
    ]
}

This standard is supported by OpenSea, Rarible, LooksRare, Blur, and most NFT marketplaces.

Frequently Asked Questions

Where should I store my NFT metadata?

NFT metadata is typically stored on decentralized storage like IPFS (InterPlanetary File System) or Arweave to ensure permanence and decentralization. You can also use a centralized server, but decentralized storage is recommended for security and immutability.

What is the difference between ERC-721 and ERC-1155 metadata?

Both ERC-721 (unique NFTs) and ERC-1155 (semi-fungible tokens) use the same metadata JSON format. The metadata structure is identical, making this generator compatible with both standards.

What display types are available for attributes?

The standard supports: string (default, no display_type needed), number (numeric value with optional max_value), boost_percentage (percentage boost, shown with %), and date (Unix timestamp).

How do I reference metadata in my smart contract?

In your ERC-721 contract, override the tokenURI() function to return a URL pointing to your metadata JSON. The URL typically includes the token ID, like https://example.com/metadata/{tokenId}.json.

Can I use this for Solana NFTs?

Solana NFTs use a similar but slightly different metadata standard (Metaplex). While the structure differs, the general concept of name, description, image, and attributes is the same. You may need to adjust the output for Solana's specific schema.

Related Tools