SVG: The Scalable Vector Graphics (SVG) is an XML-based image format that is used to define two-dimensional vector-based graphics for the web. Unlike raster image (Ex .jpg, .gif, .png, etc.), a vector image can be scaled up or down to any extent without losing the image quality.
An SVG image is drawn out using a series of statements that follow the XML schema — that means SVG images can be created and edited with any text editor, such as Notepad. There are several other advantages of using SVG over other image formats like JPEG, GIF, PNG, etc.
Difference between SVG and HTML5 Canvas:
|Vector based (composed of shapes)||Raster based (composed of pixel)|
|SVG has better scalability. So it can be printed with high quality at any resolution.||Canvas has poor scalability. Hence it is not suitable for printing on higher resolution.|
|SVG gives better performance with smaller number of objects or larger surface.||Canvas gives better performance with smaller surface or larger number of objects.|
|SVG can be modified through script and CSS.||Canvas can be modified through script only.|
|Multiple graphical elements, which become the part of the page’s DOM tree.||Single element similar to <img> in behavior. Canvas diagram can be saved to PNG or JPG format.|