svgo / 0.6.6 last updated a month ago created on Sep 27th 2012
Install
npm install --save svgo
Clone
git clone git@github.com:svg/svgo.git
dependencies
show all 22
| main |
|
sax | 1.2.1 | ISC |
|
|
js-yaml | 3.6.1 | MIT | |
|
|
colors | 1.1.2 | MIT | |
|
|
whet.extend | 0.9.9 | MIT | |
|
|
mkdirp | 0.5.1 | MIT |
maintainers
versions
58 total
| 0.6.6 | a month ago | greli |
| 0.6.5 | a month ago | greli |
| 0.6.4 | 2 months ago | greli |
| 0.6.3 | 3 months ago | greli |
| 0.6.2 | 3 months ago | greli |
| 0.6.1 | 7 months ago | greli |
| 0.6.0 | 7 months ago | greli |
| 0.5.6 | 10 months ago | greli |
| 0.5.5 | 10 months ago | greli |
| 0.5.4 | 10 months ago | greli |
| 0.5.3 | a year ago | greli |
| 0.5.2 | a year ago | greli |
| 0.5.1 | a year ago | greli |
| 0.5.0 | 2 years ago | greli |
| 0.4.5 | 2 years ago | greli |
| 0.4.4 | 2 years ago | deepsweet |
| 0.4.3 | 2 years ago | deepsweet |
| 0.4.2 | 2 years ago | deepsweet |
| 0.4.1 | 3 years ago | deepsweet |
| 0.4.0 | 3 years ago | deepsweet |
| 0.3.7 | 3 years ago | deepsweet |
| 0.3.6 | 3 years ago | deepsweet |
| 0.3.5 | 3 years ago | deepsweet |
| 0.3.4 | 3 years ago | deepsweet |
| 0.3.3 | 3 years ago | deepsweet |
| 0.3.2 | 3 years ago | deepsweet |
| 0.3.1 | 3 years ago | deepsweet |
| 0.3.0 | 3 years ago | deepsweet |
| 0.2.4 | 3 years ago | deepsweet |
| 0.2.3 | 3 years ago | deepsweet |
| 0.2.2 | 3 years ago | deepsweet |
| 0.2.1 | 3 years ago | deepsweet |
| 0.2.0 | 3 years ago | deepsweet |
| 0.1.9 | 3 years ago | deepsweet |
| 0.1.9-1 | 3 years ago | deepsweet |
| 0.1.8 | 3 years ago | deepsweet |
| 0.1.7 | 4 years ago | deepsweet |
| 0.1.6 | 4 years ago | deepsweet |
| 0.1.5 | 4 years ago | deepsweet |
| 0.1.4 | 4 years ago | deepsweet |
| 0.1.3 | 4 years ago | deepsweet |
| 0.1.2 | 4 years ago | deepsweet |
| 0.1.1 | 4 years ago | deepsweet |
| 0.1.0 | 4 years ago | deepsweet |
| 0.0.9 | 4 years ago | deepsweet |
| 0.0.9-1 | 4 years ago | deepsweet |
| 0.0.8 | 4 years ago | deepsweet |
| 0.0.7 | 4 years ago | deepsweet |
| 0.0.7-1 | 4 years ago | deepsweet |
| 0.0.6 | 4 years ago | deepsweet |
| 0.0.5 | 4 years ago | deepsweet |
| 0.0.5-1 | 4 years ago | deepsweet |
| 0.0.4 | 4 years ago | deepsweet |
| 0.0.3 | 4 years ago | deepsweet |
| 0.0.2 | 4 years ago | deepsweet |
| 0.0.1 | 4 years ago | deepsweet |
| 0.0.1-3 | 4 years ago | deepsweet |
| 0.0.1-2 | 4 years ago | deepsweet |
readme
english | русский
SVGO

SVG Optimizer is a Nodejs-based tool for optimizing SVG vector graphics files.

Why?
SVG files, especially exported from various editors, usually contain a lot of redundant and useless information such as editor metadata, comments, hidden elements, default or non-optimal values and other stuff that can be safely removed or converted without affecting SVG rendering result.
What it can do
SVGO has a plugin-based architecture, so almost every optimization is a separate plugin.
Today we have:
- [ cleanupAttrs ] cleanup attributes from newlines, trailing and repeating spaces
- [ removeDoctype ] remove doctype declaration
- [ removeXMLProcInst ] remove XML processing instructions
- [ removeComments ] remove comments
- [ removeMetadata ] remove
<metadata> - [ removeTitle ] remove
<title>(disabled by default) - [ removeDesc ] remove
<desc>(only non-meaningful by default) - [ removeUselessDefs ] remove elements of
<defs>withoutid - [ removeEditorsNSData ] remove editors namespaces, elements and attributes
- [ removeEmptyAttrs ] remove empty attributes
- [ removeHiddenElems ] remove hidden elements
- [ removeEmptyText ] remove empty Text elements
- [ removeEmptyContainers ] remove empty Container elements
- [ removeViewBox ] remove
viewBoxattribute when possible (disabled by default) - [ cleanUpEnableBackground ] remove or cleanup
enable-backgroundattribute when possible - [ minifyStyles ] minify
<style>elements content with CSSO - [ convertStyleToAttrs ] convert styles into attributes
- [ convertColors ] convert colors (from
rgb()to#rrggbb, from#rrggbbto#rgb) - [ convertPathData ] convert Path data to relative or absolute whichever is shorter, convert one segment to another, trim useless delimiters, smart rounding and much more
- [ convertTransform ] collapse multiple transforms into one, convert matrices to the short aliases and much more
- [ removeUnknownsAndDefaults ] remove unknown elements content and attributes, remove attrs with default values
- [ removeNonInheritableGroupAttrs ] remove non-inheritable group's "presentation" attributes
- [ removeUselessStrokeAndFill ] remove useless stroke and fill attrs
- [ removeUnusedNS ] remove unused namespaces declaration
- [ cleanupIDs ] remove unused and minify used IDs
- [ cleanupNumericValues ] round numeric values to the fixed precision, remove default 'px' units
- [ cleanupListOfValues ] round numeric values in attributes that take a list of numbers, like
viewBoxorenableBackground - [ moveElemsAttrsToGroup ] move elements attributes to the existing group wrapper
- [ moveGroupAttrsToElems ] move some group attributes to the content elements
- [ collapseGroups ] collapse useless groups
- [ removeRasterImages ] remove raster images (disabled by default)
- [ mergePaths ] merge multiple Paths into one
- [ convertShapeToPath ] convert some basic shapes to path
- [ sortAttrs ] sort element attributes for epic readability (disabled by default)
- [ transformsWithOnePath ] apply transforms, crop by real width, center vertical alignment and resize SVG with one Path inside (disabled by default)
- [ removeDimensions ] remove width/height attributes if viewBox is present (disabled by default)
- [ removeAttrs ] remove attributes by pattern (disabled by default)
- [ addClassesToSVGElement ] add classnames to an outer
<svg>element (disabled by default) - [ removeStyleElement ] remove
<style>elements (disabled by default)
Want to know how it works and how to write your own plugin? Of course you want to.
How to use
with files:
or:
with STDIN / STDOUT:
with folder
or:
with strings:
or even with Data URI base64:
with SVGZ:
from
.svgzto.svg:from
.svgto.svgz:with GUI – svgo-gui
- as a web app - SVGOMG
- as a Nodejs module – examples
- as a Grunt task – grunt-svgmin
- as a Gulp task – gulp-svgmin
- as a Mimosa module – mimosa-minify-svg
- as an OSX Folder Action – svgo-osx-folder-action
- as a webpack loader – image-webpack-loader
Donate
BTC 1zVZYqRSzQ4aaL27rp3PLwFFSXpfs5H8r
License and copyrights
This software is released under the terms of the MIT license.
Logo by Yegor Bolshakov.