Chat with us on Discord! We have a discord server! It can be found here.

About Uploading

Last updated

Uploading images is easy; just click the upload button to the left of the search bar at the top of the page, fill in all the info, and you're off to the races! However here are a few things to keep in mind about the process, and a few tidbits as to what happens under the hood once you do upload something.

First there is the uploading form, where you can load an image from your computer or link it directly from the artist's source page.

Below the uploading form there is the source URL field. This should link to the page on which the image was originally found. If you don't know, leave it blank, but try to find it first.

Below that, there is the tag box. Please add as many tags as are needed and are appropriate. These can be changed over time by community consensus and moderator decisions, but they are the bread and butter of boorus such as this one, so please try to label the image as well as you can.

Below the tag box there are some prebuilt common tags in several tabs you can browse through to help with your tagging.

Finally, there's the description box at the bottom. This is where you describe whatever is needed in more detail that isn't covered by the tags.

Once everything is in place and tagged, just smash that Like and Subscribe Upload button! Your image might take a few minutes to show up, so don't worry. That's it!

About Tags

All images are required to include a rating tag (safe, or one or more of the Sexual, Dark, or Gross ratings) and either an artist:artist name here tag or an artist needed tag. Please visit the Tag Guidelines page for more detailed information.

For instance, the fact that an image contains character:twilight sparkle belongs as a tag, and if it's the summer sun celebration, that's a tag, too. Fully describing an image like Twilight sparkle standing on the steps in awe at Celestia at the Summer Sun Celebration, wide-eyed in awe should be done in the description.

Please also use spoiler tags properly! Visit the Spoiler Guidelines page for more information.

Scalable Vector Graphic uploads

We support SVG uploads - once we get them on the server we make PNG images out of them, but people can still download and view the SVG version on the links on the image. librsvg is used to render the images.

We recommend you provide a sensible default resolution with your document - a couple of thousand pixels is plenty!

Optimization

When you upload a GIF, JPEG or PNG, we do some checks on the image once it's been uploaded. Most images have un-needed data in them, which can be safely removed without affecting quality. We use a few tools to do this on your uploads, resulting in smaller file sizes for us to store, and faster page loads for everybody.

PNG

We use optipng to deinterlace and compress PNG images, fixing any encoding issues on the way.

JPEG

We use jpegtran to sort out JPEGs, which supports lossless optimization of the entropy encoding scheme used in JPEG compression.

GIF

GIFs are a bit more complex, as we treat all GIFs as probably animated, and so have to deal with all the frame processing. We use gifsicle and ffmpeg to process GIFs.

SVG

SVG images are left unchanged by uploads.

Deduplication

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 images in the site, though these are no longer used internally for deduplication.

Workflow

We do all the processing in the background, and while we're doing it, we continue to serve the unoptimized file, so there's no noticeable difference for anyone. It is, however, noteworthy if you intend to download a file, you may wish to wait for the fully processed image to be available.

Basically, 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.

Revision history