Tuesday, May 2, 2017

GIF, PNG, JPG or SVG. Which One To Use?

If this article feels a little familiar, we published the first edition of it way back in 2009. While SVG has added a whole new dimension to web design, questions such as “What is the difference between JPEG and PNG?” are still as relevant as ever. We thought it was time to take a fresh look at the state of play in web-image formats.

Today’s short guide will give you the quick rundown of the various file types and where they work best. Enjoy.

JPG vs PNG vs GIF vs SVG - What is the Difference?

  Category Palette Use for
JPG Lossy Millions of colors Still Images
Photography
GIF Lossless Maximum 256 colors Simple animations
Graphics with flat colors
Graphics without gradients
PNG-8 Lossless Maximum 256 colors Similar to GIF
Better transparency but no animation
Great for icons
PNG-24 Lossless Unlimited colors Similar to PNG-8
Handles still images and transparency
SVG Vector/lossless Unlimited colors Graphics/logos for web
Retina/high-dpi screens

GIF: The Graphic Interchange Format

[caption id="attachment_148665" align="alignright" width="400"]256 color palette. 256 color palette.[/caption]

Unless you just stepped out of a faintly smoking DeLorean straight from 1985, you're very likely already familiar with the web's goofiest image format – the GIF (Graphics Interchange Format).

The GIF format is a type of bitmap, but unlike JPEG or PNG, GIF files are limited to a maximum palette of 256 colors. Essentially each GIF image contains a preset 'box of crayons' and there is no way to truly mix those colors to make new colors.

While 256 might sound like a lot of crayons to work with, complex photographs typically have many thousands of tones. This color range is lost during the GIF conversion process and this is the key reason not to use GIF for color photos.

While GIF is generally a poor choice for images with wide color variation, that 256 color limit can help keep file sizes small which is ideal for even the slowest of internet speeds. For many years, GIF provided the web's only transparency option – though PNG and SVG now offer this too.

Category: Lossless

Choose GIF for:

  • Simple animations
  • Small icons
  • Graphics with low pixel-to-pixel variation (i.e. lots of flat color like logos and flags)

JPEG

Depending on your preference, you may refer to this format as either ‘JPEG’ or ‘JPG’ – both are accepted variations of the same acronym – Joint Photographic Experts Group.

Unlike GIF, JPEG is a 16-bit format, which means that it can blend red, blue and green light to display millions of color. This makes JPG very ‘photo-friendly’. This is partly why it is a standard format when it comes to most digital cameras on the market.

The JPEG format also allows you the flexibility to choose the how much you compress your image – from 0% (heavy compression) to 100% (no compression). Generally, a 60%-75% compression setting will shrink your file considerably while keeping your image looking decent on most screens.

While JPEG is well suited to compressing and rendering photography, it is a lossy compression type which means it's less useful for ongoing editing of an image. Exporting a JPEG results in a loss of quality, and these losses get worse with each successive export – like a photocopy of a photocopy. This is why professional photographers generally shoot in lossless RAW format.

Also note that, unlike the GIF and PNG, JPEG can not preserve transparency.

Category: Lossy

Use JPEG for:

  • Still Images
  • Photography
  • Images with complex colors and dynamic

PNG

A newer file format than GIF and JPEG, the PNG (Portable Network Graphics) is like a marriage between both the GIF and JPEG format thanks to its two variants.

PNG-8

PNG-8 is similar to GIF in many ways and uses the same 256 color palette (maximum). It has better transparency options and usually exports slightly smaller file sizes. However, PNG-8 has no animation function.

PNG-24

PNG-24 allows you to render images with millions of colors – much like JPEG – but also offers the ability to preserve transparency. Because PNG-24 is a lossless format file type, you are likely to get larger files, but if image quality is more important than file size, PNG-24 is your best option. Even so, services like TinyPNG.com can often make a big difference to your file size. Compared to their cousin JPEG, PNG-24 files are not as universally compatible with every app and platform which makes the format marginally less ideal for web sharing. However, it is capable of being edited without diminished qualities.

 

Category: Lossless

Use PNG for:

  • Web graphics that require transparency
  • Color heavy and complex photographs and graphics
  • Images that require re-editing and re-exporting

SVG

Unlike the three formats mentioned above, SVG (Scalable Vector Graphics) is not a pure bitmap format. Instead it is a vector format – a close cousin to Adobe Illustrator’s AI format and EPS – that is steadily becoming an attractive option for web and UI designers.

Sometimes it's helpful to think of SVG as ‘HTML for illustrations’ and you need to think about it quite differently to other image formats we've listed.

SVG is best-suited to displaying logos, icons, maps, flags, charts, and other graphics created in vector graphics applications like Illustrator, Sketch, and Inkscape. Written in an XML-based markup, your SVG can be edited in any text editor and modified by JavaScript or CSS. As vectors can be scaled to any size while retaining crisp image quality, they are ideal for responsive design.

Though SVG is a vector format at its core, it is possible (even common) to embed bitmap graphics inside your SVG file – just as you might embed JPEGs in your HTML.

You can do this by either linking to an image source via its URL (as you might link to JPG in a webpage) or by encapsulating the pixel image as a Data URI. This gives SVG unchallenged flexibility and power.

Though SVG can help keep your images looking beautiful on the web, it isn’t necessarily a format that the everyday person can utilize to save and upload images via their website or social media platforms.

Online services like WordPress, Flickr, Medium, Tumblr, and Facebook will either forcibly convert your SVG to a format they like, or – more likely – outright block your SVG upload. There are a handful of SVG hosting options including svgur.com, imgh.us and even Github, as Alex demonstrated here.

As happy as I am to see smaller hosting services tackle SVG, Github is currently the only SVG-friendly service I’d be 99% confident will be around in 5 years. If you are using SVG to design for the web, you will find that you can almost always reduce file size when compared to something like the JPEG or PNG. But note that the more complex your SVG the larger the file will become.

Category: Vector/Lossless

Use SVG for:

  • Logos and icon with strong, geometric, vector-friendly design
  • Graphics that may need to be displayed in multiple sizes and screens
  • Graphics that respond to their device
  • Graphics that need to be edied, updated and redeployed.

Compare and Contrast

Now that we have covered the differences between popular file formats it is time to see them side by side. Below you will see how GIF, JPEG, PNG and SVG formats handle images with both simple and complex colors along with photographic images.

Flat Color Graphics

The first type of image we're going to look at are flat color graphics. This covers most logos and branding, icons, simple maps, charts, and diagrams. The original image is a 23.4 KB PNG image with a 1280 x 1280 dimension.

Below you will be able to see the difference in compression size as well as image quality. Note the images were saved using Photoshop’s “Save for Web and Devices” option at the highest quality settings.

Continue reading %GIF, PNG, JPG or SVG. Which One To Use?%


by Gabrielle Gosha via SitePoint

No comments:

Post a Comment