paper.js VS Snap.svg

Compare paper.js vs Snap.svg and see what are their differences.

paper.js

The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey (by paperjs)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
paper.js Snap.svg
23 12
14,225 13,840
0.6% 0.3%
3.7 1.8
17 days ago about 2 years ago
JavaScript JavaScript
GNU General Public License v3.0 or later Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

paper.js

Posts with mentions or reviews of paper.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-29.
  • How Framer/Figma is built?
    2 projects | /r/webdev | 29 May 2023
    I started with angular and paper.js: http://paperjs.org/
  • Polygon JS libraries
    1 project | /r/p5js | 11 Apr 2023
    In a thread in the Processing forum, Boolean operations in polygons , user ErraticGenerator suggests using g.js or Paper.js.
  • Looking for a javascript library with good wrapping support
    2 projects | /r/gis | 31 Mar 2023
    It is likely that paper.js provides the functionality needed. I will probably investigate it at some point since it appears to be the more popular library Compare paper.js & bezier.js.
  • Making YouTube video with React
    9 projects | dev.to | 25 Feb 2023
    To solve that issue, I searched for some solutions using canvas. I didn’t want to work with pure canvas so after doing some research, I settled with paper.js.
  • The Continuity of Splines – Video Essay by Freya Holmér
    1 project | news.ycombinator.com | 17 Dec 2022
    Ooh, the Chebyshev basis is neat. I hadn't seen exactly that before. It reminds me a lot of the "shape control" technique[1] which is also similar to a basis function approach but has a bit of linear solving. Essentially, you get one point (usually at t = 0.5), and also the direction but not magnitudes of the tangents at the endpoints (G1, not C1). This is one of the better-performing existing techniques for offset curve, though does have stability problems (in particular, nasty behavior for a symmetric "S" curve).

    Regarding collaboration with Freya, if she is open to it, please get in touch. I do have some ideas.

    [1]: A New Shape Control and Classification for Cubic Bézier Curves, Yang and Huang, 1993, PDF cache: https://github.com/paperjs/paper.js/files/752955/A.New.Shape...

  • which technology or framework is used to create geometry-draggable canvas like this?
    7 projects | /r/Frontend | 23 Oct 2022
    Paper.js - example (not interactive, just code)
  • Animating an svg
    1 project | /r/webdev | 29 Aug 2022
    Just remember you can do some SVG displacement with Paper.JS
  • Writing HTML sucks and No-code doesn't help
    3 projects | news.ycombinator.com | 9 May 2022
    > <p>Oh yeah, you reminded me of the template fatigue that was paper.js and it trying to reinvent scripting on the client side with <script type="text/paperscript"> templates that could use templates that could use templates... and so on. [0] I was wondering why people would go to such great lengths just to avoid having to script in the browser.<p>The way I saw it at the time was that I've rediscovered the same mistakes that PHP did back in the days. All the recurs(iv)ed templating problems, all the OOP fatigue that never worked out (magento and zend, anyone?), and all the inheritance based "reinventions" of existing web technologies like OOCSS [1].<p>I mean, at some point every engineer should be wise enough to give up on trying to predict the future. Especially in projects they cannot predict what features are going to be implemented, so I'd naturally assume that modularity and compositional or entity/component aspects will win in later revisions or refactor decisions. But I was wrong with that assumption, I guess :S<p>I also can kinda understand the general bias towards closure among functional folks. I guess that lots of people at the time (or nowadays) had high hopes for it allowing to go more "functional" in its approach, allowing compositional patterns to be useful on the web. But, honestly, JS itself is so flexible and can be used in all kinds of architectural patterns that I think closure's purpose is kind of void by its own concept.<p>When comparing closure with, say, typescript (which I also don't agree with, because "string" and "String" and "any" are pointless from any language design perspective): Typescript at least has the benefit of typed API docs and good IDE integrations (due to LSP) that can be used in large teams to reduce the overhead of getting started with working on foreignly-owned code - whereas closure doesn't have any unique selling point in my opinion. I mean, even scala.js has a unique selling point when being judged like that.<p>[0] <a href="https://github.com/paperjs/paper.js" rel="nofollow">https://github.com/paperjs/paper.js</a><p>[1] <a href="http://oocss.org/" rel="nofollow">http://oocss.org/</a>
  • Diagnosing RangeError: Maximum call stack size exceeded in React KeyEscapeUtils
    1 project | /r/codehunter | 5 May 2022
    Our webapp is written with React and Redux using the official react-redux bindings. Another primary library used in this web app is PaperJS. We recently transitioned this to being a Redux app, though it has used React for a while.
  • How to upload image into HTML5 canvas
    1 project | /r/codehunter | 23 Apr 2022
    I am currently using http://paperjs.org to create an HTML5 canvas drawing app. I want to let users upload images into the canvas. I know I need to make a login and signup but is there an easier way? I have seen the HTML5 drag and drop upload.

Snap.svg

Posts with mentions or reviews of Snap.svg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-25.
  • Best Websites For Coders
    51 projects | dev.to | 25 Jan 2023
    Snap SVG : The JavaScript SVG library for the modern web
  • 18 Best JavaScript Gantt Chart Components
    13 projects | dev.to | 27 Dec 2022
    It allows users to create tasks, change their schedule and duration with drag-and-drop, add dependency lines, and review extra information on tasks via tooltips. You can add multiple timescales to the chart. The list of possible options includes Quarter Day, Half Day, Full Day, Week, and Month. There are also some customization opportunities such as changing the tooltip content with custom HTML, modifying the appearance of task bars and dependency lines, and setting the default timescale. It should be noted that Frappe Gantt has two dependencies: momentjs and snapsvg.
  • How do you create an animated menu like this?
    2 projects | /r/webdev | 22 Sep 2022
    Inspecting the buttons suggests that it's made with SVG animations too. It says "made with snap" http://snapsvg.io/
  • is this good enough to apply for a react junior position?
    5 projects | /r/reactjs | 21 Sep 2022
    Why’d you steal Snap.svg’s logo though? That’s an immediate and major red flag to me. http://snapsvg.io/
  • Newbie to webdev: What would be the best format to go about animating this interactive element? Pictured here is a rough sample.
    2 projects | /r/webdev | 30 Jun 2022
    Animated SVG http://snapsvg.io is best. Tiny file size, good performance. Resolution independent.
  • Create SVG from Javascript
    1 project | dev.to | 13 Dec 2021
    SNAP SVG
  • Opinion on how to approach this web app.....SVG or CANVAS
    1 project | /r/webdev | 17 Aug 2021
    Building the SVG by hand is an option, but I suggest you look at dedicated SVG JS libraries to make the graphic easier to build and maintain. Try SVG.js or Snap.svg - both have good reputations.
  • [Hiring] An Oregon based SVG + Interactive Web artist
    1 project | /r/hireanartist | 27 Jun 2021
    Need someone who can make an extremely high-quality interactive single web page with SVG / CSS / JS / HTML. And the page is already done, so just someone who can make an interactive portion of the header. Possibly with something like: http://snapsvg.io/, https://www.svgator.com/, or just raw CSS/JS skills.
  • Essential SVG tools
    9 projects | dev.to | 15 Apr 2021
    Canvas2SVG - I have a feeling I'll get to know this library well someday. Apache Batik - I used it quite a bit in the early days but it never took root in my toolchain. SVGJS It offers compelling shortcuts, I'm just a fan of vanilla JS. This also goes for SNAP SVG
  • Week 4 - Summary
    2 projects | dev.to | 21 Mar 2021
    In my research to solve the CSS animation issue I branched out and one of my findings was SVGs (Scalable Vector Graphics). Having already gained some proficiency with Adobe Illustrator in my previous career, I’m going to experiment and create some SVG’s soon, perhaps for some buttons or landing page graphics. The low file size and clarity of the graphics is really appealing, and I think they could make my future portfolio really pop! The SVG Snap library looks interesting.

What are some alternatives?

When comparing paper.js and Snap.svg you can also consider the following projects:

fabric.js - Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser

svg.js - The lightweight library for manipulating and animating SVG

p5.js - p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs —

raphael - JavaScript Vector Library

two.js - A renderer agnostic two-dimensional drawing api for the web.

d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:

three.js - JavaScript 3D Library.

Gantt chart component for Angular 2+ framework - dhtmlxGantt with Angular Framework

Konva - Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.

GoJS, a JavaScript Library for HTML Diagrams - JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.