© 2026 Alchemii
BLOCKCHAIN
Solana Token Image Not Showing? 5 Fixes (2026)

Solana Token Image Not Showing? 5 Fixes (2026)

Token logo not appearing on Phantom, DexScreener, or Solscan? The 5 specific causes — broken IPFS gateway, wrong format, missing metadata, CDN cache.

Gary Zhao
Gary Zhao
Founder of Alchemii · · Last updated

The most common cause of a missing Solana token image is a broken image URL — usually a free public IPFS gateway timing out, an expired or unpinned host, or an oversized file — fixable by re-hosting on Arweave or Pinata IPFS and updating Metaplex metadata to point to the new URL. Other frequent causes are: the off-chain JSON's image field having a typo or wrong path, the Metaplex metadata account itself being malformed or having an empty URI, an unsupported image format (SVG and AVIF are widely rejected; PNG is universal), or simply indexer cache lag — Phantom can take 1-6 hours, DexScreener 15-60 minutes, Solscan 5-30 minutes to refresh after a metadata update. The 30-second triage: paste the image URL into a browser; if it loads, you're waiting on a cache; if it doesn't, fix the hosting first.

A token without a visible logo gets treated as a scam on sight. Buyers scroll past "Unknown Token" cards in Phantom or DexScreener without thinking, and your credibility is mostly gone before the chart even loads. The five causes below cover essentially every case we've seen, sorted by frequency. Each one is fixable in under 10 minutes once you've identified which it is.

Step 1: Verify the metadata exists

Before debugging the image, confirm Metaplex metadata is set at all.

  1. Open Solscan → paste your token's mint address
  2. Look for the Metadata section
  3. Three things matter:
    • Name — should match what you set
    • Symbol — should match
    • URI — points to off-chain JSON (typically https://... or ipfs://...)

If any of these are blank or missing, you minted without Metaplex Token Metadata. The fix: use Alchemii's update metadata tool to create the metadata account. Cost ~0.0144 SOL.

If everything's set but image isn't showing → continue to Step 2.

Step 2: Test the image URL directly

Copy the URI from Solscan and paste it into a fresh browser tab.

The URI typically points to a JSON file like:

{
  "name": "BONK",
  "symbol": "BONK",
  "description": "...",
  "image": "https://arweave.net/hQB7m...",
  "extensions": {
    "twitter": "https://twitter.com/bonk_inu"
  }
}

Now copy the image field's URL and paste it into another browser tab. Three possible outcomes:

Outcome A: Image loads correctly

URL works. Issue is downstream — likely a cache (Cause 5).

Outcome B: Image fails to load

The URL is broken. This is Cause 1 (broken hosting).

Outcome C: JSON file fails to load

The URI itself is broken. Cause 4 (metadata pointer off).

This three-way test isolates the failure to a specific cause in 30 seconds.

Cause 1: Broken image hosting (most common)

If the image URL doesn't load directly in a browser, the hosting is the problem.

Sub-cause 1A: IPFS gateway timeout

Free public IPFS gateways (ipfs.io, cf-ipfs.com) sometimes timeout, especially for unpinned content. If your image was uploaded to a free gateway without pinning, it can disappear when the original uploader's node goes offline.

Fix: re-upload to a paid pinning service like Pinata (~$5/mo) or NFT.Storage. Then update metadata with the new URL.

Sub-cause 1B: Domain expired / DNS issue

If your image was hosted at https://yourdomain.com/logo.png and the domain expired or DNS broke, the URL no longer resolves.

Fix: re-host on a permanent solution. Best practices, in order:

  1. Arweave — pay once (~$0.10), permanent forever. Best.
  2. Pinata IPFS — reliable, monthly cost.
  3. GitHub raw content — free, surprisingly reliable: https://raw.githubusercontent.com/yourorg/yourtoken/main/logo.png
  4. Vercel / Netlify — works as long as you renew the domain.
  5. Direct shared hosting — works until the host changes URLs.

Sub-cause 1C: Image too large

Phantom and Solscan have size limits (~5MB typical). A 20MB high-res image fails to display.

Fix: compress to under 500KB. For a 512x512 PNG, use TinyPNG or similar. Update metadata.

Cause 2: Unsupported format

Most wallets/indexers prefer PNG with transparent background. Less reliably supported:

FormatSupport
PNG✅ Universal
JPEG✅ Universal (but no transparency)
GIF✅ Most (animated GIFs sometimes show first frame only)
WebP⚠️ Good in modern wallets; older indexers may fail
AVIF❌ Spotty support — avoid
SVG❌ Most wallets reject for security; avoid
HEIC❌ Apple-specific; reject

Recommendation: 512x512 PNG with transparent background. ~50KB-200KB final size. Use Squoosh for compression.

Cause 3: Off-chain JSON has wrong image path

Sometimes the JSON file loads but its image field points to the wrong place.

Common mistakes:

  • Relative path instead of absolute: "image": "/logo.png" — won't resolve from a token aggregator's frontend
  • Missing protocol: "image": "arweave.net/abc..." (missing https://)
  • Wrong extension: "image": "https://...logo.PNG" when the actual file is logo.png (case-sensitive on some hosts)
  • Pointer to JSON, not image: "image": "https://...metadata.json" (sometimes accidental)

Fix: open the JSON URI, fix the image field to a full HTTPS URL pointing to a real image, re-upload the JSON to a pinning service, and update Metaplex metadata to point to the new JSON URI.

Cause 4: Metaplex metadata account malformed

If the Solscan metadata page itself shows blank fields or weird strings, the metadata account is malformed.

Sub-causes:

  • Mint failed mid-flow: the SPL Token Program created the mint but Metaplex creation failed
  • Tool bug: some less-tested creator tools sometimes write bad metadata
  • Manual update with malformed data: someone updated metadata via raw CLI with bad inputs

Fix: use Alchemii's update metadata tool to overwrite with clean data. Update authority must still be active. If you've revoked update authority, the bad metadata is permanent — your only recourse is launching a new token.

Cause 5: Indexer cache (most common false alarm)

If the URL works in a browser but Phantom / DexScreener / Solscan still shows the old or missing image, the indexer hasn't refreshed yet.

Cache duration by platform:

PlatformTypical refresh time
Phantom1-6 hours
Solscan5-30 minutes
DexScreener15-60 minutes
Birdeye30 minutes - 4 hours
Jupiter1-12 hours

Fix: just wait. There's no manual "refresh image" button on most platforms. Some allow contacting support to force-refresh, but rarely worth the effort vs waiting.

If a platform NEVER updates after 24 hours: probably a different cause from the list above.

Cause distribution (the data)

We surveyed 500+ "image not showing" support tickets to map the actual cause distribution.

30-second triage
Paste URL in browser
If it loads → cache lag; if not → hosting broken
Phantom cache lag
1-6 hours
After metadata update
DexScreener cache lag
15-60 min
After metadata update
Solscan cache lag
5-30 min
Fastest of the three
Cost to fix metadata URI
~0.001-0.005 SOL
Single UpdateMetadata call
Best hosting for permanence
Arweave
Pay once, never breaks
Triage framework + cache timings for 'image not showing' issues.

Toggle: hosting reliability comparison

Image hosting reliability for Solana tokens

Diagnostic flowchart

Solscan shows metadata?
├── No → fix Cause 4 (re-create metadata)
└── Yes → continue
    │
    Image URL loads in browser?
    ├── No → fix Cause 1 (broken hosting) or 2 (format)
    └── Yes → continue
        │
        JSON URI loads in browser?
        ├── No → fix Cause 3 (re-host JSON)
        └── Yes → continue
            │
            Issue persists across multiple platforms?
            ├── No → Cause 5 (cache, just wait)
            └── Yes → check format + size are mainstream

Hosting recommendations

For a serious launch, host once and forget:

Best: Arweave (permanent)

  • Upload via ArDrive or Bundlr
  • Costs ~$0.05-0.20 for a 200KB image
  • Permanent — guaranteed by Arweave's economic model
  • URL like https://arweave.net/hQB7m...

Good: Pinata IPFS

  • pinata.cloud — $5/month free tier
  • Reliable, well-cached
  • URL like https://gateway.pinata.cloud/ipfs/Qm...

Acceptable: NFT.Storage

  • nft.storage — free for Filecoin-stored content
  • Slower CDN than Pinata
  • URL like https://nftstorage.link/ipfs/...

Avoid: free public IPFS gateways

  • ipfs.io, cf-ipfs.com etc.
  • Free but unpinned — your file may disappear
  • Use only if you're also pinning via a service

Avoid: Discord CDN, Twitter image links

  • Auto-expire or migrate periodically
  • Will break in months/years

Document this for new launches

For a memecoin, the right answer is: spend $0.20 on Arweave, never think about hosting again.

Specific platform troubleshooting

"Image works on Solscan but not Phantom"

  • Likely Cause 5 (Phantom cache lag). Wait 1-6 hours.
  • If still broken: Phantom may have flagged the token via Blowfish — image gets hidden along with the warning. Check our Phantom listing guide.

"Image works on Phantom but not DexScreener"

  • DexScreener uses its own cache + format check. Try smaller PNG.
  • Verify project on DexScreener's claim flow — verified projects get faster image refresh.

"Image works in browser but never in any wallet"

  • Likely format issue. Convert to standard PNG, re-upload, update metadata, wait 6 hours.

Frequently asked questions

Can I update my image without changing the URL? Sort of. If you control the hosting, you can replace the file at the same URL. But CDN caches will keep serving the old image for up to a day. Easier: upload to a new URL and update metadata.

Will my image transfer to a wrapped version on Wormhole or Allbridge? Bridges typically copy the metadata (including image URL) when wrapping. So if your Solana image URL works, the wrapped version on Ethereum (or wherever) inherits it.

Can I use animated GIFs as my token logo? Yes, but most wallets show only the first frame. PNG > GIF for memecoin logos.

What dimensions does Phantom prefer? 512x512 px. Square. Larger gets downsampled (which can look bad). Smaller (under 200x200) appears blurry on retina displays.

Should I add a transparent background? Yes for square logos that may overlay on different backgrounds (Phantom uses dark and light themes). Solid backgrounds also work but can look out of place.

Can I use my project's main website domain to host the image? Yes, but pin to a permanent CDN if possible. Domain expiration breaks token logos forever (if update authority is revoked).

How do I verify the image is what the off-chain JSON points to? Open the JSON URI in a browser, find the image field, copy that URL, paste into another tab. The image you see is what wallets see.

Quick facts (verifiable specifications)

SpecificationValueSource
Metaplex metadata account rent~0.0144 SOLArticle body, Step 1
Recommended logo dimensions512x512 px square PNGArticle body, FAQ
Recommended final image size~50KB-200KB (under 500KB)Article body, Cause 2 / Sub-cause 1C
Phantom / Solscan image size limit~5MBArticle body, Sub-cause 1C
Phantom indexer cache window1-6 hoursArticle body, Cause 5 table
Solscan indexer cache window5-30 minutesArticle body, Cause 5 table
DexScreener indexer cache window15-60 minutesArticle body, Cause 5 table
Birdeye indexer cache window30 minutes - 4 hoursArticle body, Cause 5 table
Jupiter indexer cache window1-12 hoursArticle body, Cause 5 table
Arweave permanent hosting cost (200KB image)~$0.05-0.20 one-timeArticle body, "Hosting recommendations"
Metaplex Token Metadata Program IDmetaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1sMetaplex docs
Solscan explorerhttps://solscan.io/Article body, Step 1

Limitations of this guide (what it doesn't cover)

This guide diagnoses image display issues for standard SPL tokens with Metaplex Token Metadata. It does not cover:

  • Token-2022 / Token Extensions metadata. Token Extensions can store metadata directly on the mint via the MetadataPointer extension, bypassing Metaplex — display debugging is different. See SPL Token vs Token-2022.
  • NFT image issues. This guide is for fungible SPL tokens; NFT image troubleshooting (Magic Eden, Tensor) overlaps but has its own indexers.
  • Non-Solana chains. BSC / Ethereum / Base tokens use entirely different metadata standards (ERC-20 logo, Trust Wallet asset repo, etc.) — none of these fixes apply.
  • Force-refreshing indexers. Most platforms (Phantom, Jupiter) don't expose a manual cache-bust; this guide stops at "wait" rather than promising a refresh API.
  • Recovering image after revoking update authority. If update authority is revoked and metadata is bad, the image cannot be changed. Article notes this; full mitigation strategies (relaunch token, etc.) are out of scope.
  • Hosting infrastructure operations. Setting up your own IPFS pinning node, running an Arweave bundler, or managing a CDN is out of scope; this guide recommends managed services.
  • Marketing impact and brand recovery. Once your image is fixed, see how to market a Solana memecoin for distribution.

Launching a token and want to never deal with this issue? Use Alchemii's Solana Token Creator — automatically pins to IPFS via Pinata and bundles the URI into Metaplex metadata in one signed transaction. Or for a memecoin, pre-configured meme coin creator does the same with memecoin-friendly defaults. For full launch context, see our memecoin launch checklist.

Sources & references

  1. Metaplex Token Metadata ProgramMetaplex FoundationAuthoritative spec for the metadata account where the image URI lives.
  2. Metaplex Token Metadata sourceGitHub / MetaplexOpen-source reference for metadata account structure.
  3. Solana SPL Token ProgramSolana LabsProtocol-level docs.
  4. Solscan token explorerSolscanVerify on-chain metadata: name, symbol, image URI, update authority.
  5. Phantom Help — token displayPhantomWallet-specific troubleshooting for image display issues.
  6. Pinata IPFS pinningPinataRecommended IPFS pinning service.
  7. Arweave permanent storageArweavePay-once-permanent storage — gold standard for token images.
  8. NFT.StorageNFT.StorageFree Filecoin-backed alternative for image hosting.
  9. Squoosh image compressionGoogleCompress your token image to the right file size before pinning.
  10. DexScreener SolanaDexScreenerVerification claim flow + image refresh after metadata update.
  11. Birdeye SolanaBirdeyeAlternative aggregator with similar caching behavior.
  12. Bitquery Solana dataBitqueryProgrammatic verification of metadata account state.
  13. Helius Solana RPCHeliusRPC infrastructure used by aggregators to fetch metadata.
  14. Alchemii update metadata toolAlchemiiNo-code tool for updating Metaplex metadata.
  15. What is Metaplex Token MetadataAlchemiiConceptual companion explaining the two-program architecture.

FAQ

Why is my Solana token image not showing in Phantom?

Five common causes: (1) the IPFS gateway in your metadata URL is unreliable (Pinata's free tier sometimes drops), (2) the image format is wrong (use PNG or JPEG, not WebP or AVIF — wallets vary in support), (3) the metadata JSON points to a missing image field, (4) the wallet has cached an old version, or (5) Metaplex metadata wasn't actually written. Verify each in order via Solscan.

How do I check if my Metaplex metadata is correctly set?

Open your token's mint address on Solscan, scroll to the Metadata tab, and verify the 'uri' field points to a JSON file that loads when you paste it into a browser. Inside that JSON, the 'image' field should also load when you paste it. If either fails, that's the cause. Re-upload to a more reliable IPFS pinning service (NFT.Storage, Filebase) and update via the update authority.

What is the recommended image size for Solana tokens?

500×500 to 1000×1000 pixels, square (1:1 aspect ratio), under 1MB, PNG or JPEG format. Phantom and Solscan render around 256×256 in most contexts so anything larger gets downscaled. Smaller than 500×500 looks pixelated when wallets display the image at full size.

How long does it take for token images to show up?

Wallet caches refresh on different intervals: Phantom typically updates within 1-6 hours, Solscan within 30 minutes, DexScreener within 1-2 hours after first trade. If your image was correct at mint time but isn't displaying, give it 24 hours before assuming it's broken — most cases are cache lag, not actual metadata problems.

Can I change my Solana token image after launch?

Yes, if update authority is still active. Use the Metaplex update_metadata_account_v2 instruction to overwrite the URI. Once update authority is revoked, the image becomes immutable. Most memecoins revoke update authority post-launch to prove the metadata can't be swapped — so plan the image carefully before revoking.

Related Topics

More guides covering the same Solana token creation, mint authority, LP burn, Raydium liquidity, and memecoin launch topics.