Independent review. This site is not the official website and is not affiliated with, endorsed by, or operated by the wallet vendor reviewed here. Never enter your seed phrase or private keys on any third-party site.

NFTs in MetaMask: View, Send, and Hide Spam

Try Tangem secure wallet →

Quick summary

MetaMask is a widely used software wallet for EVM-compatible blockchains. It can hold and send ERC-721 and ERC-1155 collectibles, show basic NFT metadata, and connect to marketplaces and dApps. This guide explains how to view, send, hide spam, and move NFTs to a hardware wallet using MetaMask (plus practical fixes if an NFT isn’t showing).

I use MetaMask daily for small NFT trades and tests. What I've found: the mobile app shows NFTs more conveniently than the extension, but both have limitations (especially around metadata hosting and non-EVM chains).

What MetaMask NFT support looks like

  • Supported token standards: ERC-721 and ERC-1155 on EVM-compatible networks (Ethereum, Polygon, BSC, Avalanche, etc.).
  • Unsupported by MetaMask: native Solana NFTs (use Solana-native wallets instead — see vs-phantom-and-solana-wallets).
  • MetaMask relies on on-chain tokenURI metadata (often hosted on IPFS or centralized gateways). If the metadata is broken, the wallet cannot show the art or attributes.

Note: MetaMask is a non-custodial hot wallet — it stores private keys locally (unless you connect hardware). That affects how you secure high-value NFTs.

Viewing NFTs: mobile vs extension

MetaMask mobile

Try Tangem secure wallet →
  • Native NFTs tab. Tap a collection or item to see media and metadata (when metadata loads correctly).
  • Built-in dApp browser makes it easy to connect to NFT marketplaces on your phone.

MetaMask extension (desktop)

  • Has a collectibles or NFTs section but the UX can feel clipped compared to mobile.
  • Browser extension depends on the same metadata sources, so images can fail to load or show placeholders.

Why images disappear sometimes? Metadata often points to IPFS or third-party hosts. If the tokenURI is missing, uses an outdated gateway, or is blocked by CORS, MetaMask cannot render the image.

![placeholder image: screenshot of MetaMask mobile NFT tab]

Send an NFT: step-by-step

  1. Confirm network. Switch to the same network where the NFT lives (Ethereum mainnet, Polygon, etc.).
  2. Open the NFT item, then choose "Send" (mobile) or use the NFT interface in the extension.
  3. Paste the recipient address. Double-check it. Seriously — check it again. Wrong-chain addresses can lose assets.
  4. Set gas fees. For Ethereum mainnet you'll see EIP-1559 controls (max, priority). Lower gas risks a stuck transaction. Want savings? Use an L2 if the NFT is on one.
  5. Confirm and sign with your private key or hardware device.
  6. Verify the transaction on a block explorer.

If you need a visual step-by-step for extension/mobile setup, see install-mobile and install-extension.

Move an NFT from MetaMask to Ledger (short guide)

Why move? Hardware wallets require physical confirmation for each transaction and keep private keys offline. If an NFT is valuable, move it to an address whose private key is secured by a Ledger device.

Steps (high level):

  1. Connect your Ledger to MetaMask: open MetaMask > Settings > Connect hardware wallet (see connect-ledger).
  2. Import or select the Ledger-controlled account inside MetaMask. This exposes the Ledger address but does not export the private key.
  3. From the MetaMask account that currently holds the NFT, send the NFT to the Ledger address. Follow the normal send flow above.
  4. Approve the outgoing transaction with the sender account. For the receiver (Ledger), you only need the Ledger to sign future outgoing transactions.

Tip: verify the destination address on your Ledger device display before sending. And if the NFT sits on a non-EVM chain, you cannot use MetaMask+Ledger (more on cross-chain in bridges-cross-chain).

Hide spam NFT in MetaMask (and safer alternatives)

Got an airdrop you don’t want to see? Two approaches:

  1. Quick UX hide (mobile if available): open the NFT > three-dot menu > Hide. If that option isn’t visible in your app version, skip to option 2.

  2. Safer account hygiene (recommended): create a separate MetaMask account for public dApp activity and leave high-value NFTs on a dedicated account or Ledger address. That limits exposure to spam airdrops and malicious dApps.

Also: do not interact with spam NFTs. Clicking “accept” or interacting via a third-party site can prompt token approvals or execute malicious logic.

For reporting and removal from marketplace views, open the marketplace’s reporting tools (e.g., OpenSea) or use the wallet’s reporting options (see nft-troubleshooting).

Troubleshooting: "metamask nft not showing"

Checks to run:

  • Are you on the right account and network? (Common mistake.)
  • Is the token an ERC-721/1155 contract? If it's a different standard or minted on a non-EVM chain, MetaMask won't show it.
  • Check token metadata on a block explorer: does tokenURI return valid JSON and image links? Broken metadata = no image.
  • Try adding the NFT manually if the UI allows: contract address + token ID.
  • If images are IPFS-hosted, try a public IPFS gateway in your browser (some gateways are faster).

If these don't work, see how-to-fix-nft-not-showing for step-by-step debugging.

Security notes and common mistakes

  • Don’t approve unlimited token allowances for marketplaces or smart contracts you don’t trust. If you’ve already done so, revoke them immediately (revoke-approvals).
  • Airdropped NFTs can be a vector for social-engineered attacks. Ignore unsolicited "claim" links.
  • Gas fees apply to NFT transfers. On Ethereum mainnet, expect a higher fee than token transfers.
  • Hardware wallets raise the security bar, but they don’t solve phishing in dApp approvals — you still must inspect transactions.

I once approved a malicious contract by accident. Took me one revoke and a lesson: always open the transaction details and check the spender address.

Comparison: mobile, extension, hardware via MetaMask

Feature MetaMask Mobile MetaMask Extension Hardware (Ledger via MetaMask)
View NFTs (native) Yes (better UX) Partial (collectibles) Yes (via MetaMask UI)
Send NFTs Yes Yes Yes (sign on device)
Hide spam NFTs UI option (varies) Limited Depends on MetaMask UX
dApp/browser In-app browser Injected provider N/A (use MetaMask)
Hardware signing No Yes (when connected) Yes
Multi-chain EVM support Yes Yes Yes (addresses per chain)
Solana NFT support No No No

FAQ

Q: Is it safe to keep NFTs in a hot wallet? A: Hot wallets are convenient but inherently less secure than hardware wallets. For small or collectible experiments, hot wallets are fine. For high-value NFTs, use a hardware wallet and follow the steps above. See hardware-best-practices.

Q: How do I revoke token approvals for a malicious marketplace? A: Use a trusted revoke tool or the wallet’s permissions page and remove allowances (see revoke-approvals). Don’t input your seed phrase into any site.

Q: What happens if I lose my phone with NFT access? A: Restore the same MetaMask account from your seed phrase on another device. If someone else has the seed phrase, assets can be stolen — protect that seed. See backup-and-recovery.

Q: How can I move NFT MetaMask to Ledger? A: Connect your Ledger via MetaMask, get the Ledger address, and send the NFT to that address. See connect-ledger and move-nfts-between-wallets.

Q: Why is my MetaMask NFT not showing? A: Follow the checklist above and then check how-to-fix-nft-not-showing for detailed steps.

Final checklist & next steps

  • Confirm the NFT’s network and token standard before troubleshooting.
  • Don’t interact with unknown NFTs or click claim links.
  • For anything valuable: move it to a Ledger-controlled address and back up your seed phrase offline.

If you want to secure a high-value collectible, start here: Connect Ledger. Facing display problems? Open how-to-fix-nft-not-showing and nft-troubleshooting next.

And yes — hide the spam and move the good stuff out of reach.

Try Tangem secure wallet →