When comparing Fabric.js vs Snap.svg, the Slant community recommends Snap.svg for most people. In the question“What are the best JavaScript drawing libraries?” Snap.svg is ranked 7th while Fabric.js is ranked 8th.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Out of the box Node.js support
Fabric supports node.js, and has an npm package available for server side rendering with all the dependencies handled for you. This allows you to provide graceful degradation for image fallbacks to canvas or SVG content.
Pro Vector focused API
Drawing objects in fabric are vector focused, so everything is easily transformable. It makes it easy to create complex pathed shapes, add gradients, or filters. Although fabric is great for vector rendering, it also has image support as well.
Pro Outputs to canvas and SVG and JSON
When it comes to format compatibility, Fabric is the best, with the ability to output to Canvas, SVG, and JSON. SVG provides backwards compatibility for older browsers, and JSON allows you to store rendered output for later use.
Pro Great interaction with SVG, excellent coding
If you are about to customize the library to your needs, this is the project of choice! Great programming work!
Pro Good support for SVG multi-line text
Allows creating multi-line text that can even be interactively edited by user interaction.
Pro Browser only version now available
If the node-canvas dependency is a problem you can now look for npm install fabric@x.y.z-browser

Pro Pure SVG library
Pro Written by a SVG Guru and pioneer
Dmitry Baranovskiy also wrote Raphael (project now owned by Sencha), this is the updated modern version of that library. Dmitry also is a champion directly affecting the future of SVG standards with W3C

Pro Backed by Adobe
Adobe is backing the development of snap.svg
Pro Features
Supports the newest SVG features like masking, clipping, patterns, full gradients, groups, and more
Cons
Con No front-end only version via Node
NPM package has major dependencies.
Con A little bit less support for Angular.js
Con Not actively developed
During 2016 was few updates, more updates in 2017
Con Spotty exporting
Exporting doesn't work well (if at all sometimes) with SVGs exported from anything other than Adobe products.
Con Weak documentation
Explanations provided in the documentation can often be unclear, with some features missing from the documentation all together.
