The reason Mastodon doesn't keep original uploaded files but rather converts them to more space-efficient formats/dimensions is that storage is not cheap for the average server owner, and we try to reduce the pressure on them as much as possible.

We could think about keeping high-fidelity originals if an upload quota feature was added (configurable max. disk space per user). This is non-binding poll to see if that's a direction worth pursuing.

@gargron this is kind of a mixed bag. I can see some genuine value in it right alongside obvious misuse.

@Mainebot Quota misuse? Surely can't be worse than @Seabird taking up almost a gigabyte of disk space that's absolutely wasted

@Gargron @Seabird

Yo tho
You gotta admit it's pretty funny the first time

@gargron @Seabird seabird should just call the one instance of seabird instead of duping seabird honestly.

No I mean using persistent HQ storage as an alternative for drop box-style use, unless it's still convert-on-upload.

@Mainebot @Seabird If deduplicating images and videos was easy somebody would have submitted a solution by now. There's a lot of non-deterministic stuff involved.

@Gargron @Mainebot This sounds like a good idea:
Was there any blocker to implementing it?

@Gargron @Mainebot @Seabird couldnt that be solved by hashing the content uploaded and if matched by a previous upload, just link to it in the db?

@Gargron i would suggest that, though it may be controversial, you might think about adding a feature that would enable admins to take payments to unlock features like this. say- one time $10 payment, or annual payment, to cover the storage costs.

@Gargron the side effect is that this would also provide a useful tool for admins to use in curbing that pesky “nasties” problem.

@zensaiyuki I do think such a quota feature would need to be configurable on both a default value level as well as on a per-user basis. That would allow letting trusted people or patrons upload more.

Payment integration would be cool, honestly, I think I polled before about paid accounts. As mentioned, storage is not free--currently Patreon is the only way of maintaining a server long-term, a direct payment integration could add an alternative.

@Gargron you have my support- i know payment gateways are very much not a trivial feature to implement, but as you said, it might mean better odds of survival.

@Gargron i always thought birdsite should have gone the route of charging for raising the follower limit instead of ads. i wonder what that parallel world looks like- in this one, shadey businesses make money off selling followers instead.

@Gargron via my non masto partner. “The best Idea would be a pay wall. 1/3 to instance, 1/3 to storage for federation, 1/3 to charity. I think southern poverty law centre (or whatever it’s called). The charity is a barrier for sock puppets. If they can afford 100 accounts that’s ok but you’re funding an anti hate group org. “

@Gargron @zensaiyuki +1 for stripe integration. They have easy to set up recurring payments too.

@Gargron I think it'd be cool if I was given the option after uploading, like a box I can tick

Like a normal video game screenshot is about 2MB, but it being lossless on the server is silly, because you don't need the full resolution to see whats going on in the imagine

But sometimes I wanna post an infographic or a comic or a map or something and the compression makes it impossible to read
For example uwu


what I want:

if resized image is larger (number of bytes) than original image, use original

@gargron Why not keep them, if they stay in the maximum allowed filesize and otherwise shrink them?

@alsternerd Because the maximum allowed filesize is incredibly generous.

@Gargron TBH I'm less concerned about the original size as such, and more that whatever image library is being used to do the shrinking seems to strip out (I guess) ColorSync profiles or something? I posted a photo on Flickr and the colours are quite vibrant, posted it as a media attachment here and the colours were noticeably different. :(

This was the original photo:

And my toot:

@Gargron Would something similar to how snapchat or instagram stories delete after a set amount of time be an option worth pursuing? Like, maybe you can have higher res but after a day or so it's gone? Or is that whole process of auto-deletion taxing on the servers as well?

@Gargron I would strip all metadata too, if that's not already a thing that happens...

@Gargron default quota + configurable quota per user would be very nice


The worst is when a GIF is converted to a difficult-to-share format.

Twitter probably sees this as a wonderful form of vendor lock-in, but it'd be nice if Mastodon made an effort to be user-friendly in this way.

@apLundell Eh, disagree on this a bit--most places support WebM/MP4 uploads now, and our pseudo-GIFs are easy to download (but I do know Twitter is making it impossible to download videos with various tricks)

@Gargron @apLundell I'd love to be able to download original animated gifs. At least as some sort of secondary option.

@gargron If "Most places" are big corporate social medias like Twitter.

But there are still a lot of forums and stuff that don't like movie formats.

.gif is a common denominator that works everywhere. If you have a .gif you know you can use it anywhere you can use images.

There's a freedom in that, even if they ARE an absurdly old fashioned file format that we should have left behind in the 1990s.

@Gargron what about reusable image like misskey drive?

@Gargron - but wouldn't this also mean that you'll need a configurable max. number of total users as well?

@Gargron btw, is there de-duplication in case someone reuploads the same file several times? (which has happened to me at least)

@Gargron I'd like to add to my "no" the following - would it be really complicated to add a way to choose whether to upload originals or to convert them to the space-saving version? And/or if one sees one is running out of space, to perform a conversion on an already uploaded image?

(This probably already adds to a mountain of work so, I'm only really just chancing my arm here.)

@Gargron will we have an option to choose between compressed and original photos while uploading?

Yup, payment in cryptos would also be great to have more disk space. Would be great!

How much effort would it be to use for static stuff? It would deduplicate files and allow instances to recover stuff from anywhere on the network rather than have them all jump on the original host.

@koyu @Gargron
that's a briliant idea.
it's fine to give 1GB free storage and 100MB/monthly quota for each users that will be enough for almost everybody.
Similar to what happen to peertube with both daily quota and max storage.
heavy users will really need to help paying server costs to keep posting a lot of High quality videos/imagines/audio that consume a lot of HD space & bandwith.
We don't track & don't display ads to users, so at least heavy users will need to contribute on hosting costs

@Gargron As a user, when I upload images, I want them to display in full resolution so users can read text - please reopen issue if you're reconsidering

@Gargron How about a checkbox if one wants to keep full resolution? So if I upload art, I check it, but I don't eat quota with a throwaway picture.

@kurtm @Gargron
yep, great idea, so by default the image/video/audio will be compressed to save space, if somebody need to keep it full res will will have an HD option before uploading.

@Gargron Couldn't it just be a server side switch?

mastodon -imgq low/high

kinda thing?


I don't get how it will work with federated instances?
Won't they have to download the high-fidelity media too, without being given a choice about it?

@Gargron my instance doesn't handle this kind of vote :blobastonished: :blobastonished:

@Gargron I can see it being handy for a few specific kinds of instance

@Gargron IMO it might be safer to integrate an image hosting service into Mastodon, i.e Imgur to Reddit (disregarding the unholy abomination imgur has become), with different pricing tiers based on user needs.

Paid accounts would accomplish the same but I fear a potential growing divide between paid and premium accounts that would turn off new users (who may not be inclined to host their own instance). Could just be my paranoia though.


What about storing large files on ?

People could pay for hosting their files, e.g. via , or traditional payment methods.

The beauty is: this wouldn't use up storage of the server that is running the Mastodon instance.

Hosting could be provided via any third party IPFS server.


Is there already a way to embed files?

Of yourse I could link to an IPFS web interface like this:

But it would be nice to be able to use a native IPFS URI.

Btw: is there already a standard for IPFS URIs?

Personally my vote is for minimum permanent amount of storage for every user with monthly payable quota for those who upload to much. Some users post one picture a month and do not cause a huge load on servers, so there's not much difference if they used this space for toots or for an image. IMO this would be fair enough.

@Gargron another idea would be to keep the original file for a time period where the file would be viewed the most, then after that period convert it to the more space efficient format

I don't see anyone mentioning bandwidth (or did I miss it?) Is bandwidth that cheap?

@syntaktis We'd still generate smaller thumbnails and other variants no matter what, the original would be for download only, so bandwidth would unaffected in most cases

So, most people will see the copies anyway... That, also, means that those who complain about text or sketches not looking clear enough, they will see no improvement in their posts... If I got that right...

I just uploaded a picture with text. And it is a bit blurry. Not unreadable, but it takes some effort to read it. Plus it creates some "wavy" feeling/illusion when trying to read it. Maybe should increase the default compression level of jpg files. (Or is it actually "decrease"?)
. . .
(to be continued)

I don't know how this compression is measured, but the typical, most common, value is 79.
I usually use 91 for my jpg files, which increases the file size and the quality. You could try any value between 79 and 91. No need to go above 91, because the files will get larger; but the difference in quality will be shown only on zooming (maximum zooming probably).
Bellow 79, also, things start to get blurry. Good for thumbnails and previews; save bandwidth; load pages faster.

@Gargron I'm having some issues with Mastodon converting files into more wasteful formats. If I upload a webp image, it gets converted to a png file that is many times larger. I recently uploaded an Opus audio file, and it was converted to an mp3 file that was twice as big. Is that a known issue?

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!