Uploading content is easy as pie. You just hit that fat
Upload () button up there next to the search box and fill in the form. But, if you'd like some more details, then read on.
We provide two important fields for metadata: Tags and Source URL.
Tags are designed to let you group items together and describe them in terms of their content. The Description field — primarily intended for people uploading original content to the site — can be used to provide a more detailed description of or context around the item. It can also be used for audio descriptions for people with screenreaders.
For instance, the fact that an image contains twilight sparkle should be represented with a tag, and if it's the summer sun celebration, that's a tag, too. Fully describing an image can be done in the description field: Twilight Sparkle standing on the steps at the Summer Sun Celebration, wide-eyed in awe at Celestia.
We also have meta tags. The artist:artist name tag should be used to link an artist name to uploaded content. Other meta tags define ratings, which are used to spoiler or hide NSFW content when not wanted. These should be used where appropriate.
For more information on how to properly use tags, please see our Tag Guidelines.
Finally, there is the Source URL field. This should link to the page on which the content was originally found. Try to discover the source URL if you can, but if you can't then leave this field blank.
Scalable Vector Graphics uploads
We support SVG uploads. When you upload an SVG, we export PNG images from it for display on the site. But you can still download and view the SVG version using the download () and view () links on the content page. We use
librsvg to render the images.
We recommend you provide a sensible default resolution if your upload is an image or video — a couple of thousand pixels is plenty!
When you upload a GIF, JPEG, or PNG image, we optimize them by removing unneeded data without affecting quality; resulting in smaller file sizes for us to store, leading to faster page loads for everypony. The tools we use to accomplish this include:
- We use
optipngto deinterlace and compress PNG images, fixing any encoding issues
jpegtranto sort out JPEGs, which supports lossless optimization of the entropy encoding scheme used in JPEG compression
GIFs (pronounced yiffs) are a bit more complex since we have to treat all GIFs as possibly animated, and so have to deal with all the frame processing. We use
ffmpegto process GIFs
- SVG images remain unchanged
We perform perceptual image deduplication using a simple image intensity based mechanism which has proven to be scalable and reasonably reliable over the years. We also provide SHA512 hashes of content on the site, though these are no longer used internally for deduplication.
As processing runs in the background, we continue to serve the unoptimized file to ensure an uninterrupted experience. If you wish to download a file, however, you may wish to wait until the fully processed image is available.
tl;dr: upload, and don't worry about it! We'll handle all the heavy lifting on our end. And once we finish processing the image, it'll be served instead of the old unoptimized one immediately.