| Library | Best For | Watermark? | License | | :--- | :--- | :--- | :--- | | | General diagrams, flowcharts | No | Apache 2.0 | | JointJS (Free) | Basic ERD, BPMN | No (Pro version adds plugins) | Mozilla Public License | | Rete.js | Node-based editors (visual programming) | No | MIT | | LogicFlow | Business process diagrams | No | Apache 2.0 | | React Flow | React-based node graphs | No | MIT |
If your open-source project is hosted on GitHub but also runs a SaaS product (even with a free tier), you must buy a commercial license.
Or via JavaScript:
Deployment in non-standard web environments requires specific licensing configurations: gojs remove watermark
If you have a license key but it is configured incorrectly, a watermark will appear. This usually says "Invalid License" or specifies a domain mismatch. The Legal and Correct Way to Remove the Watermark
: When upgrading to a new major or minor version (e.g., from v2 to v3), you must request a new license key .
Using a modified version of GoJS without a license exposes you and your organization to significant risks: | Library | Best For | Watermark
After creating the script, you would modify your package.json to execute it before running your development server or build process:
The watermark is automatically injected into the HTML5 Canvas or SVG element managed by the GoJS Diagram instance. The Legal and Correct Way to Remove the Watermark
License keys are long strings without any embedded whitespace or punctuation. The same key will work for all patch versions within the same major/minor version. For example, a license key for version 2.0.1 will work for all versions 2.0.x. However, when upgrading to a new major or minor version (such as from 2.0.1 to 2.1.0), you will need to request a new license key. This usually says "Invalid License" or specifies a
If budget constraints are significant, consider legitimate open-source alternatives like Draw.io (diagrams.net), which offers similar functionality without watermarks under the Apache 2.0 license.
However, it is critical to understand that tampering with the library in this way is a violation of the license agreement. The following information is provided for educational purposes only, to help you understand how others have approached this problem.
creating any diagrams. This is done by assigning the string to go.Diagram.licenseKey Domain Matching