Are you interested in the technical side of our solution, licensing, trial, purchase, or something else? Read the FAQs and get the answers you're looking for.
JointJS+ is an extended version of JointJS (open source) that offers advanced diagramming features and a ready-to-use demo application. We have created a comparison table that lists the features of each library side by side: https://www.jointjs.com/comparison.
As said, JointJS+ is a superset of JointJS in which we added more than 40 UI components, widgets, plugins and features as well as more than 150 ready-to-use demo apps that you can use as boilerplates for your project.
You know Rappid today under the new name JointJS+. In mid-2022, we decided to rebrand from Rappid to JointJS+, which we talked about in more detail here: https://www.jointjs.com/blog/new-brand-to-be-revealed-jointjsplus-replaces-rappid.
You may occasionally see Rappid today, especially in our documentation or in the folder and file names of a trial or license package.
Yes, currently, we have tested and verified wrappers for integration with all versions of React, Angular, Vue, Svelte and Salesforce Lightning.
Check the following demos which were integrated with Vue/React/Angular:
For more information, visit our compatibility pages:
JointJS+ is known for being very powerful performance-wise. You can check the demo at https://www.jointjs.com/demos/collapse-expand. It uses virtual rendering and you will see that it renders more than 2000 elements in less than one second.
Since JointJS+ is a pure client-side software component (HTML 5), the security of JointJS+ depends heavily on the security of the application that uses it. JointJS+ itself does not communicate with any external APIs or store any data permanently.
Besides, we perform frequent static code checks and vulnerability checks on dependent libraries. These checks are part of our development toolchain and patches are provided as soon as a critical vulnerability is identified. In addition, starting in 2024, the company client IO s.r.o., which stands behind JointJS, is SOC 2 compliant and undergoes regular security audits. You can read more in our official announcement.
Yes, JointJS and JointJS+ support touch devices. It's a JavaScript library, so it's possible to create iOS/Android apps using e.g. Cordova and Capacitor.
If you run into any issues, we'd be happy to hear about them. Our goal is to keep JointJS/JointJS+ compatible with as many mobile platforms as possible.
You may come across some vendors on the market that use the HTML 5 Canvas raster graphics engine. JointJS+, on the other hand, uses SVG vector graphics because we believe SVG is better suited for 2D diagrams on the web. It renders perfectly, promotes accessibility, and facilitates interaction. Additionally, SVG uses the standard DOM (Document Object Model) just like HTML, so all browser APIs including event handlers and more can be used in the same way, making customization easier.
Read about the key differences between SVG and canvas here: https://www.jointjs.com/blog/svg-versus-canvas
Our product is not based on the D3 library, but uses SVG to render elements and links. However, you can combine JointJS/JointJS+ with D3 to get even more flexibility when creating a visual application.
No, at the moment there is no JointJS+ repository you can use. However, you can create your own private repository and upload the contents of the JointJS+ package (rappid.tgz) there.
JointJS and JointJS+ don't use any external dependencies from the release of version 4.0 in January 2024. Read more in our official release notes. Before this release, our library depended on jQuery, Lodash, and Backbone.
JointJS+ is based on SVG, we currently do not support WebGL for rendering diagrams.
Of course! You can find pre-made demo apps here or check out our library of weekly updated demos (we call them Demo Wednesdays) on our CodePen profile. If you have a suggestion for a demo app or want to see some features in action, feel free to post your suggestion on our Github profile.
You can find the source code of the demo applications in the apps folder of the trial or license package. Moreover, you can view the source code of some JointJS+ demos on our CodePen profile.
You can use both plain JavaScript and TypeScript. In fact, the majority of our demo apps are written in vanilla JavaScript (ES6) and TypeScript. See our getting started guide to find out more.
More information can be found on our compatibility page: https://www.jointjs.com/typescript-diagrams
Yes, we do! Check the following demos which were integrated with https://resources.jointjs.com/demos/tabsVue/React/Angular:
Wondering how to create a Vue/React/Angular application in JointJS+? Check these tutorials:
Yes, it's possible to integrate JointJS+ with Salesforce Lightning Framework. Check out this tutorial to find out more: https://docs.jointjs.com/learn/integration/lightning.
Unfortunately, the Chatbot demo comes only in React, Vue and Typescript versions. That being said, the code could be converted to JavaScript with TSC command. The `src/rappid` folder is framework agnostic so it can be mixed with a new Javascript project without any problem.
Yes! We provide BPMN import and export demo apps that serve as an example of how to convert BPMN shapes. The conversion of the rest of the shapes would need to be implemented on your end.
Yes, we do! Released in version 4.0 in January 2024, JointJS+ supports the BPMN XML format, enhancing collaboration across your entire BPMN tool suite. Read more in our official release notes.
The Standard JointJS+ package costs $2.990 per developer and includes:
As stated above, the JointJS+ license is priced on a per-developer basis. In other words, each developer working with JointJS+ needs to have a single license. Then you're free to develop an unlimited number of products that can be used by an unlimited number of end-users and distributed to an unlimited number of machines (domains, servers, etc.).
The Enterprise JointJS+ package comes with additional features and benefits, including:
Get in touch with us for a tailored quote for the enterprise package.
Fore more information about our pricing, visit: https://www.jointjs.com/pricing.
Yes, you can. If you are not comfortable purchasing a license through our official store, please contact us and we will invoice you. Please note that 20% of the total price may be charged for the additional administrative burden. We therefore recommend purchasing online to get the best possible price.
Yes, we do! Please check the list of official JointJS+ resellers here. If you decide to purchase a license through one of them, please contact them directly. They will guide you through the standardized process or purchasing a JointJS+ license, updates and support subscription.
No, there are no hidden fees or extra charges at the time of buying the JointJS+ license. Once you purchase your license, you can start using it immediately.
Keep in mind that when you purchase a JointJS+ license, you get one full year of free updates, which are charged at $1,490/year per license from the second year onwards. In other words, starting from the second year, you will be charged an annual subscription to always receive the latest version of JointJS+. Note that you can cancel your subscription at any time in the admin portal.
Find out more at https://www.jointjs.com/pricing.
The JointJS+ license is charged per developer, NOT per number of end users using your product. In other words, you can use the license for an unlimited number of end users, applications, domains or machines.
If you purchase a license, you will be automatically subscribed to receive the latest version of JointJS+. This subscription is $1,490/year and is charged per license. Note that the 1st year is included in the license purchase - the subscription fee will start charging from the 2nd year. You can cancel your subscription at any time in our admin portal.
Of course! You can start a free 30-day trial with no commitment and no credit card. You'll get a fully functional version of JointJS+, full support from our engineering experts to get your project off to a successful start. To start your trial, visit this page: https://www.jointjs.com/free-trial.
Yes, your license includes basic support, which is there so you can successfully integrate JointJS+ into your application and jumpstart your project. Optionally, you can subscribe to priority support, which offers ongoing support from our top developers, including conference calls, remote troubleshooting, expert code review, general advice from experts, and access to our online ticketing system with guaranteed response times.
Once you purchase a JointJS+ license, you get access to our customer portal where you can assign and reassign licenses. Once a license has been assigned, you or your developer will be sent an email to access the license package. The package can be downloaded from here.
Our goal is to give you all the help you need to successfully start using JointJS+ and make your ideas a reality. That's why we give you access to our ticketing system and provide you with the help you need. In addition, you can get support from our community members and other diagramming enthusiasts.
Keep in mind that we also offer priority support that includes ongoing and dedicated help from our top-tier engineers, including conference calls, remote troubleshooting, expert code review, general advice from experts, and access to our online ticketing system with guaranteed response times.
Learn more about our support subscriptions here: https://www.jointjs.com/support.
The return on investment always depends on the specific use case and the resources you plan to allocate to the project. In order to set your expectations and help you unravel all the little details and intricacies of diagramming, we've prepared a thorough ROI calculation that's based on a generic flowchart builder, and compares its development from scratch (without using any existing code base) versus with use of our professional library. View the ROI calculation here and make an educated decision.
We support different payment methods depending on your location. The most common ones are debit or credit card, PayPal and Amazon. To issue a PO or pay by bank transfer, please contact our sales team.
Please note that we charge 20% of the total price for the additional administrative burden if you purchase a license via PO (purchase order). We therefore recommend purchasing online to get the best possible price.
You can start a free 30-day trial of JointJS+ by filling out a form on this page: https://www.jointjs.com/free-trial. No commitment or credit card is required.
Yes! During the trial, we treat you as if you were our paying customer. You can ask questions in our community forum or create tickets in our online ticketing system.
In case you filled out this form and did not receive a confirmation email with the download link, please check your spam folder first and, if you don't find the email there, get in touch with our support team.
First of all, you may encounter unexpected pop-ups in your app. This strange behavior is caused by your trial period ending. Your current work is NOT lost tho. After purchasing your license(s), you can resume development by replacing a few files and picking up exactly where you left off.
To put your license package to work, all you need to do is to replace the trial files with the license files (from the build/package folder).
Any of these files that you were using in the trial needs to be replaced:
For some of the applications `npm i` might be also required. Please also make sure the package-lock.json is removed and `node_modules` deleted before calling `npm i`. If this won’t help try `npm cache clean --force` (or yarn cache clean). In worst case scenario, you can just copy the package `tgz` file and all other files from build/package to node_modules/@joint/plus manually.
After purchase, your developers will receive login credentials to log in to our customer portal where they can download a license package that includes everything they need: JointJS+ NPM package, the JointJS+ source code (for JointJS+ Enterprise customers only), and the source code for all our demos. Moreover, we provide documentation and a getting started guide on our website.
Your license comes with basic support (free), including:
Our Priority Support subscription helps you get your project off to the highest priority start, with guaranteed response times and code reviews from the same engineers who developed JointJS+, and with whom you'll be able to book conference calls as needed. Priority support is available in two subscriptions:
Find out more: https://www.jointjs.com/support.
A subscription provides you with a pool of hours that can be shared across the team. In other words, you need one support subscription for all your developers and projects. Your subscription expires when all hours are used up or at the end of the subscription period (a year), whichever comes first. Upon request, we will provide you with the current status of your subscription (how many hours your team has used).
If you would like to subscribe to one of our priority support plans or renew your existing subscription, please visit this page to complete your order: https://www.jointjs.com/support. Please use the same email as when you purchased your license so that everything in your account pairs up nicely.
Of course. You can cancel your support subscription at any time by going to our customer portal and easily canceling your subscription.
Your JointJS+ license automatically includes one year of free updates. After that time, you will be subscribed to automatic renewal for $1.490 per year per license. You can cancel your subscription at any time in our admin portal.
Find out more about our pricing: https://www.jointjs.com/pricing or get in touch for a custom quote.
To replace an older version of JointJS+ with a newer version, all you need to do is to replace the old files with the new files (from the build/package folder).
Any of these files that you were using so far needs to be replaced:
For some of the applications `npm i` might be also required. Please also make sure the package-lock.json is removed and `node_modules` deleted before calling `npm i`. If this won’t help try `npm cache clean --force` (or yarn cache clean). In worst case scenario, you can just copy the package `tgz` file and all other files from build/package to node_modules/@clientio/rappid manually.
In case of minor or patch updates, you just need to follow the instructions above and you're all set. As for the major updates containing breaking changes, you also need to follow a migration guide which we publish together with thorough release notes.
If you would like to renew your existing subscription, please visit this page to complete your order. Please use the same email as when you purchased your license so that everything in your account pairs up nicely.
Keep in mind that if your update subscription has expired, you will not be able to renew your subscription and your license will become non-updatable. In this case, you will need to purchase a new license at full price and subscribe to ensure you always receive the latest version of JointJS+.
Your license will remain functional, but you will not be able to update it. If you want to update it after it becomes non-updatable, you have to purchase a new license at full price, which includes one year of updates and costs the same as three years of updates if you had renewed on time.
Your update subscription expires on the next day of the expiration date. If you haven't managed to renew your update subscription in time, please contact us to see if we can help.
Of course, you can do so by changing your subscription settings in our customer portal.
The JointJS+ license works on a per-developer basis, which means that each developer working with JointJS+ must have one license. Then you can develop an unlimited number of products that can be used by an unlimited number of end users and that can be distributed to an unlimited number of machines (domains, servers, ...).
Yes, you can! We don't limit the number of domains, machines or end users that use your application.
After completing your purchase, you as license admin will receive credentials to our customer portal where you will be able to assign the purchased licenses to your developers. Should there be a restaffing event, it is also through this portal you will be able to reassign your licenses to new developers.
Yes, you can reassign your license at any time in our customer portal. The newly assigned licensee will receive a confirmation email immediately afterward with login details to log in and download the license package.
The Standard JointJS+ license costs $2.990 per developer and includes:
The Enterprise JointJS+ package is available upon request and includes additional features and benefits:
Find out more at https://www.jointjs.com/pricing.
The JointJS+ license is perpetual, which means it will always work. Each license includes a free one-year subscription to updates. If you do not subscribe to updates after that first year, your license will continue to work, but you will not be able to update it. And if you want to update it after it becomes non-updatable, you must purchase a new license at full price.
That's why we strongly recommend adding an update subscription to your license, especially if you already know you'll need JointJS+ for more than a year. That way you'll always get the latest versions, which always include new features, fix bugs, and ensure compatibility with the latest browsers.
Update subscriptions work on a per-developer basis and are billed annually with the option to cancel at any time.
If you want to buy more years in advance, contact us for a discounted price.
You can if you don't make the JointJS+ Javascript API available to users. Under no circumstances should you include the source code of JointJS+ in a public Github repository. JointJS+ is licensed on a per-developer basis. Making the repository public would prevent you from having control over it.
The options are:
The time to resolve an error can range from one day to several weeks, depending on the complexity of the problem. We usually provide our customers with a patch (which can be applied locally or suggest extending classes and overriding some of their methods) or provide a workaround as soon as possible. If there has been a breaking change in the browser, we usually release an updated version within a few days.
The JointJS+ license works on a per-developer basis. In other words, each developer working with JointJS+ must have one license. Then they can develop an unlimited number of products that can be used by an unlimited number of end users and that can be distributed to an unlimited number of machines (domains, servers, ...).
JointJS+ is an extended version of JointJS (open source) that offers advanced diagramming features and a ready-to-use demo application. We have created a comparison table that lists the features of each library side by side.
As said, JointJS+ is a superset of JointJS in which we added more than 40 UI components, widgets, plugins and features as well as more than 150 ready-to-use demo apps that you can use as boilerplates for your project.
If you'd like to start using our open-source version, we recommend visiting our Github profile that contains a detailed getting started guide: https://github.com/clientIO/joint.
Glad you asked! Members of our community come together in Github Discussions to exchange ideas, ask questions, and learn from each other. Joint them too: https://github.com/clientIO/joint/discussions.