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.
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.
- Open Solscan → paste your token's mint address
- Look for the Metadata section
- Three things matter:
- Name — should match what you set
- Symbol — should match
- URI — points to off-chain JSON (typically
https://...oripfs://...)
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:
- Arweave — pay once (~$0.10), permanent forever. Best.
- Pinata IPFS — reliable, monthly cost.
- GitHub raw content — free, surprisingly reliable:
https://raw.githubusercontent.com/yourorg/yourtoken/main/logo.png - Vercel / Netlify — works as long as you renew the domain.
- 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:
| Format | Support |
|---|---|
| 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..."(missinghttps://) - Wrong extension:
"image": "https://...logo.PNG"when the actual file islogo.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:
| Platform | Typical refresh time |
|---|---|
| Phantom | 1-6 hours |
| Solscan | 5-30 minutes |
| DexScreener | 15-60 minutes |
| Birdeye | 30 minutes - 4 hours |
| Jupiter | 1-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.
Toggle: hosting reliability comparison
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.cometc.- 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)
| Specification | Value | Source |
|---|---|---|
| Metaplex metadata account rent | ~0.0144 SOL | Article body, Step 1 |
| Recommended logo dimensions | 512x512 px square PNG | Article body, FAQ |
| Recommended final image size | ~50KB-200KB (under 500KB) | Article body, Cause 2 / Sub-cause 1C |
| Phantom / Solscan image size limit | ~5MB | Article body, Sub-cause 1C |
| Phantom indexer cache window | 1-6 hours | Article body, Cause 5 table |
| Solscan indexer cache window | 5-30 minutes | Article body, Cause 5 table |
| DexScreener indexer cache window | 15-60 minutes | Article body, Cause 5 table |
| Birdeye indexer cache window | 30 minutes - 4 hours | Article body, Cause 5 table |
| Jupiter indexer cache window | 1-12 hours | Article body, Cause 5 table |
| Arweave permanent hosting cost (200KB image) | ~$0.05-0.20 one-time | Article body, "Hosting recommendations" |
| Metaplex Token Metadata Program ID | metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s | Metaplex docs |
| Solscan explorer | https://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
- Metaplex Token Metadata Program — Metaplex FoundationAuthoritative spec for the metadata account where the image URI lives.
- Metaplex Token Metadata source — GitHub / MetaplexOpen-source reference for metadata account structure.
- Solana SPL Token Program — Solana LabsProtocol-level docs.
- Solscan token explorer — SolscanVerify on-chain metadata: name, symbol, image URI, update authority.
- Phantom Help — token display — PhantomWallet-specific troubleshooting for image display issues.
- Pinata IPFS pinning — PinataRecommended IPFS pinning service.
- Arweave permanent storage — ArweavePay-once-permanent storage — gold standard for token images.
- NFT.Storage — NFT.StorageFree Filecoin-backed alternative for image hosting.
- Squoosh image compression — GoogleCompress your token image to the right file size before pinning.
- DexScreener Solana — DexScreenerVerification claim flow + image refresh after metadata update.
- Birdeye Solana — BirdeyeAlternative aggregator with similar caching behavior.
- Bitquery Solana data — BitqueryProgrammatic verification of metadata account state.
- Helius Solana RPC — HeliusRPC infrastructure used by aggregators to fetch metadata.
- Alchemii update metadata tool — AlchemiiNo-code tool for updating Metaplex metadata.
- What is Metaplex Token Metadata — AlchemiiConceptual 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.
Can You Edit a Solana Token After Launch? (2026)
What you can change post-launch (name, image, links), what you can't (mint, decimals), and how authority revocation locks specific changes forever.
Solana Token Not Showing in Phantom? 7-Step Fix (2026)
Just minted a Solana token but it's not appearing in your Phantom wallet? Here's the exact 7-step diagnostic to find out why and fix it in under 5 minutes.
Transaction Failed Creating a Solana Token? 5-Min Fix
Solana token creation failed? Diagnostic flow — read the Solscan error code, identify cause (priority fees, slippage, low SOL, expired blockhash), fix it.
What is Metaplex Token Metadata? Plain English (2026)
Metaplex is the on-chain program that gives Solana SPL tokens their name, symbol, image, and links. Plain-English explanation of how it works.
Transfer Mint Authority on Solana: Move vs Revoke
Transfer Solana SPL mint authority to a multisig instead of revoking — when each is right, SetAuthority mechanics, common pitfalls.
How to Airdrop Solana Tokens (Step-by-Step 2026)
Complete walkthrough for airdropping SPL tokens on Solana: wallet CSV prep, batch limits, cost per send, and when an airdrop helps vs. hurts your launch.