Drop files to upload

JPG, PNG, WebP, GIF, SVG, MP3 — Max 50MB

Select File

Auto-deletes in ~2 weeks

Free — no account needed

CDN SSL Permanent Instant
DISCORD USERS

Image Hosting for Discord that never expires.

Copy an image link out of Discord and paste it somewhere else, and a few weeks later it's a broken box. That's because Discord's CDN started signing attachment URLs with an expiry parameter, so those links die outside the chat. Upload your picture here instead and you get a plain direct link that ends in the real file extension. It embeds inline in channels, drops into bot embeds and webhook avatars, and keeps loading long after a copied Discord URL would have stopped.

Discord image hosting at a glance

Price
Free
Sign-up
Not required
Formats
JPG, PNG, WebP, GIF, SVG
Max size
50 MB
Output
Direct CDN link

How It Works

1

Upload Your Image

Drag a screenshot, meme, art piece or GIF onto the box, or click to pick one. JPG, PNG, WebP, GIF and SVG all work, up to 50MB each.

2

Copy the direct link

The file lands on a fast CDN and you get a link that ends in the real extension, like .png or .gif. Nothing gets resized or watermarked, so it stays exactly as you uploaded it.

3

Use it in Discord

Paste it into a channel and it shows inline, or drop it into a bot embed field or webhook config. The link doesn't carry an expiry token, so it keeps loading.

Why Discord Users Need External Hosting

Discord links carry an expiry

Around 2023 and 2024 Discord moved attachment URLs on cdn.discordapp.com and media.discordapp.net to signed links with an expiry parameter. Inside the app they refresh, but a link you copied out breaks later.

Embeds keep showing the image

Bot embeds, webhook avatars and pinned messages that point at a copied Discord URL turn into broken placeholders once the token lapses. A stable host avoids that.

Easy with bots and webhooks

Bots set image fields in embed JSON with a plain URL. discord.js and discord.py both want a normal https link, which is exactly what you get here, no token juggling.

Full quality, no account

There's nothing to sign up for, and your file isn't compressed or scaled down. What you upload is what people see in the server.

Hosting here vs other options for Discord

Uploading straight into Discord is fine for a one-off message you'll never reuse. The trouble starts when you want that same link in a bot embed, a wiki, or another site. Here's how the common options compare for that job.

OptionNo sign-upLink stays stableEmbeds inline in DiscordSafe for bot/webhook embedsMax file size
ImageToURLYesWeeks free, forever signed inYesYes50 MB
Discord attachment URLDiscord accountNo, signed token expiresYes inside DiscordBreaks over timePlan based
ImgurNo (since 2023)Tied to your accountYesYes20 MB
CatboxYesPermanentYesYes200 MB
ImgBBYesOptional expiryYesYes32 MB

Why Discord CDN links break

When you upload a file to Discord, the link you can copy looks like cdn.discordapp.com or media.discordapp.net followed by a query string. Those extra parameters are a signed token with an expiry time. Inside the Discord client the link is refreshed for you, so you never notice. The moment you paste that URL somewhere else, a bot embed, a wiki, a forum post, it keeps working only until the token lapses, then it 404s. Hosting the image on a separate site sidesteps the whole problem, because the link you copy here has no token to expire.

Using image URLs in bot embeds and webhooks

Discord bots don't attach files for embeds; they pass a URL string. In discord.js you set EmbedBuilder().setImage(url), and in discord.py you set embed.set_image(url=...). Webhooks work the same way for the avatar and any embed image. All of them want a plain https link that returns an actual image with the right content type. A link from here fits that exactly. It ends in .png, .jpg, .gif or .webp, so the bot framework and Discord both treat it as an image and render it inline rather than as a download.

Which formats embed inline in Discord

PNG and JPG cover screenshots and photos. GIF keeps animation when you share it as a direct .gif link. WebP works too and is smaller for the same quality. Animated content shows in the message preview as long as the URL points right at the file. SVG is handled as a download rather than an inline preview in chat, which is normal for most platforms, so for something that needs to show in a message a raster format is the safer pick. Whatever you upload keeps its original quality, since nothing is recompressed on the way through.

What people host for Discord

Once an image has a direct link, it fits into the parts of Discord that need a real URL:

Bot and embed images

Set the image or thumbnail field of an embed to the link. It loads the same way every time, with no expiring token to refresh.

Webhook avatars and art

Point a webhook avatar at the URL, or post art in a channel without the link going stale a couple of weeks later.

Server assets and guides

Source images for emoji and stickers, plus screenshots in pinned how-to messages that need to stay readable for new members.

Frequently Asked Questions

Why do Discord image links expire?

Discord changed its CDN to use signed URLs with an expiry parameter. Images uploaded directly to Discord get a link with a token baked in, and once that token lapses the link stops working in bookmarks, wikis, and external embeds. Inside the app the link is refreshed automatically, which is why it only seems to break elsewhere.

Can I use these images in Discord bot embeds?

Yes. The link is a direct image URL served over HTTPS with the right content-type header, which is exactly what an embed image field expects. Set it as the image or thumbnail in your embed and it renders inline, with no token to manage.

Do the links work in Discord markdown and messages?

Yes. Paste the link into a channel or DM and Discord shows it as an inline image preview, because the URL ends in the real file extension instead of pointing at a gallery page.

Is there a file size limit?

50MB per image, which covers almost any screenshot, meme, or piece of art you'd post in a server. If a file is bigger, shrink or compress it first, then upload.

Can I host animated GIFs for Discord?

Yes. Upload a GIF and you get a direct .gif link. When that link is posted in a message or set in an embed, the animation plays just like a normal Discord GIF.

Does it work with discord.js and discord.py?

Yes. Both libraries take a plain URL string for embed images (setImage in discord.js, set_image in discord.py). A link from here drops straight into that field, so you don't have to upload a file with the message or refresh any token.

Do I need a Discord account or to sign up here?

No account is needed to use this host. You only need a Discord account to post in servers, which you already have. Upload, copy the link, paste it in.

Will the link work for a webhook avatar?

Yes. A webhook avatar is set with an image URL, and this link is a normal https image address, so it works there as well as in embeds.

Does it compress or watermark my image?

No. Your file comes back at full resolution with no watermark and no re-compression, so art and screenshots stay sharp in the server.

What formats can I upload?

JPG, PNG, WebP, GIF and SVG. For something that needs to show inline in a Discord message, stick to a raster format like PNG, JPG, GIF or WebP, since SVG is treated as a download.

How long do the links last?

Anonymous uploads stay live until a monthly storage cleanup, so you get at least a couple of weeks and usually more. Want one that never goes away? Make a free account and choose 'keep forever' when you upload. Either way, keep your own copy as a backup.

Are the links private?

Anonymous uploads are public to anyone who has the link, so don't post anything you wouldn't want a stranger to open. For a private server, the image is still reachable by URL, so treat it as shareable.

Stop losing images to expired Discord links

Upload once and get a direct link that works in embeds, bots, webhooks, and messages without an expiry token. Free, no sign-up.

Upload Now