> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/tools/token/update-metadata.md).

# Update Metadata

[Update Metadata](https://j.tools/en/tools/update-metadata) edits the on-chain metadata of an existing SPL token. You change the name, symbol, description, logo, or social links from the wallet that holds the update authority, then sign once. The token contract address stays the same, supply and balances stay the same, only the display info changes.

This is the load-edit-submit flow most teams reach for after launch: fix a typo, swap a logo, or add a website and socials without redeploying the mint. The wallet that signs has to be the current [update authority](/concepts/authorities.md) on the mint, and the same idea applies whether your token is classic [SPL or Token-2022](/concepts/spl-vs-token2022.md).

{% hint style="warning" %}
**About fees.** Every action has two costs: the Solana **network fee** paid to validators, and the **J Tools platform fee**. The platform fee always shows in the app before you confirm, and nothing is charged until you sign. Fees can change over time, so trust the in-app summary rather than a number you saw once.
{% endhint %}

## When to use this

* You hold the update authority and need to fix or refresh your token's branding after launch.
* You want to swap a logo, correct a name or symbol typo, or add a website, Twitter, or Telegram link.
* You just want to inspect a token's current on-chain metadata. The Load step reads it back so you can see what is set before you touch anything.

## Before you start

* A connected wallet that holds the token's update authority ([how to connect](/getting-started/quick-start.md)). The update transaction only goes through if this wallet is the current update authority on the mint.
* The token's mint address (contract address). Pick it with the built-in token selector.
* Enough SOL for the network fee and the platform fee.
* A logo ready to upload if you plan to change it (PNG, JPG, GIF, or WEBP up to 1MB, 200x200 recommended).

{% hint style="warning" %}
The token must already have a metadata account. If the mint has never had metadata attached, the tool stops with **Metadata Account Not Found** and you need to create metadata first. Tokens minted with [Token Creator](/tools/launch/token-creator.md) already have a metadata account, so they load and edit straight away. This tool edits existing metadata, it does not create it from scratch.
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Connect the update-authority wallet

Connect the wallet that holds the mint's update authority. Only that wallet can authorize the change. If you connect a different wallet, the Solana program rejects the transaction.
{% endstep %}

{% step %}

### Enter the mint address

Paste the token's contract address into the mint field, or pick it from the selector.
{% endstep %}

{% step %}

### Load the current metadata

Click **Load** to read the token's current name, symbol, description, image, and socials from chain. The fields pre-fill so you can inspect everything before editing. This step is optional, but it keeps you from overwriting fields you meant to leave alone.
{% endstep %}

{% step %}

### Edit only what you need

Change the name, symbol, or description, upload a new logo, and update the website, Twitter, or Telegram links. Fields you do not touch stay as they were loaded.
{% endstep %}

{% step %}

### Submit and sign

Click **Update Metadata**. The tool uploads your image (if you changed it) and the metadata JSON to IPFS, then builds the update transaction. Review the fee summary and sign in your wallet. On confirmation you get the transaction signature with Copy and View on Solscan actions.
{% endstep %}
{% endstepper %}

[**Open Update Metadata in the app →**](https://j.tools/en/tools/update-metadata)

{% hint style="info" %}
**About wallet warnings.** Some tools sign more than one thing in a single step, for example creating a token and its metadata together. Phantom can show a caution banner for these multi-step transactions. The banner is expected here and does not mean something is wrong. Read what you are signing, then approve.
{% endhint %}

## The options, explained

| Field              | What it does                                                                                                          |
| ------------------ | --------------------------------------------------------------------------------------------------------------------- |
| Token mint address | The token whose metadata you are editing. Required. Pick it with the token selector.                                  |
| Name               | The token name shown in wallets and explorers. Up to 32 characters.                                                   |
| Symbol             | The ticker. Force-uppercased, up to 10 characters.                                                                    |
| Description        | A short blurb written into the off-chain metadata JSON. Up to 500 characters.                                         |
| Logo / image       | Upload a new logo, or point to an existing image. Uploaded files and image URLs are pushed to IPFS before the update. |
| Website            | Your project's site. Must be a valid public http or https URL.                                                        |
| Twitter            | Your X / Twitter profile. Validated as a public URL.                                                                  |
| Telegram           | Your Telegram group or channel. Validated as a public URL.                                                            |

{% hint style="info" %}
Leave a field blank and that part of the metadata is not part of your edit. To submit, at least one field has to be filled in. The name and symbol have safe defaults in the transaction if you somehow leave them empty, so set them deliberately rather than relying on the fallback.
{% endhint %}

## If something goes wrong

* **Metadata Account Not Found.** The mint has no metadata account to edit. You need to create metadata for this token first.
* **You are not the update authority.** The connected wallet does not control this token's update authority, so the program rejects the change. Connect the wallet that does.
* **Not enough SOL.** The update needs SOL for the platform fee plus the network fee. Top up and try again.
* **Transaction expired.** The network was busy and the blockhash aged out. Submit again.
* **Wallet rejected.** You declined the signature or the wallet timed out. Reconnect and retry.

For the full list, see the [Error codes reference](/reference/error-codes.md).

## FAQ

<details>

<summary>Does this change my token's supply or holders?</summary>

No. Update Metadata only changes display info: name, symbol, description, image, and links. Supply, balances, and the other authorities stay exactly as they were.

</details>

<details>

<summary>Why does it ask the wallet to sign if I only changed text?</summary>

Editing metadata is an on-chain write. The Metaplex program checks that the signer is the [update authority](/getting-started/glossary.md) and records the new values, so it needs a real, signed transaction.

</details>

<details>

<summary>Where does my logo get stored?</summary>

Uploaded images and image URLs are uploaded to IPFS, and the metadata JSON that points to them is uploaded to IPFS too. The on-chain record then references that JSON.

</details>

<details>

<summary>Can I still edit metadata after I lock my token?</summary>

No. Once you revoke the update authority, the metadata is frozen for good. Get the name, symbol, and image right here first, then lock it with [Revoke Update Authority](/tools/secure/revoke-update-authority.md) or [Make Immutable](/tools/secure/make-immutable.md).

</details>

<details>

<summary>Does J Tools hold my token or keys?</summary>

No. You sign every transaction in your own wallet, and the update runs from the authority you already control.

</details>

## Related tools

{% content-ref url="/pages/z1CV4bXSoyMhrzsOjmUy" %}
[Revoke Update Authority](/tools/secure/revoke-update-authority.md)
{% endcontent-ref %}

{% content-ref url="/pages/gbx1RbByQOVKZzt0PQkP" %}
[Make Immutable](/tools/secure/make-immutable.md)
{% endcontent-ref %}

{% content-ref url="/pages/9r2rW9r83CsCoJpYE8gL" %}
[Token Creator](/tools/launch/token-creator.md)
{% endcontent-ref %}

{% content-ref url="/pages/El6oae0bfwSTjeoxgA0u" %}
[Burn Tokens](/tools/token/burn-tokens.md)
{% endcontent-ref %}

{% hint style="success" %}
**J Tools is non-custodial.** We never hold your private keys and never ask for them. Every transaction is built in your browser and signed by your own wallet. If any page ever asks you to paste a private key, stop, close it, and let us know.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.j.tools/tools/token/update-metadata.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
