1<!doctype html> 2<html lang="en" class="scheme-light dark:scheme-dark"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta 6 name="viewport" 7 content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" /> 8 <meta name="theme-color" content="#1f4963" /> 9 <!-- Self-hosted variable font. Declared here (not in CSS) so . 10 resolves the /fonts/ asset under the base path, and preloaded with a matching 11 crossorigin so the @font-face fetch reuses it. --> 12 <link 13 rel="preload" 14 as="font" 15 type="font/woff2" 16 href="./fonts/InterVariable.woff2" 17 crossorigin /> 18 <style> 19 @font-face { 20 font-family: InterVariable; 21 font-style: normal; 22 font-weight: 100 900; 23 font-display: swap; 24 src: url('./fonts/InterVariable.woff2') format('woff2'); 25 } 26 </style>
vendor: 69 bytes, lines 26-27
26 27 <script async src="https://www.googletagmanager.com/gtag/js?id=
27G-S5QK8VSK84
vendor: 17 bytes, lines 27-28
27"></script> 28
28<script> 29
vendor: 167 bytes, lines 29-34
29window.dataLayer = window.dataLayer || []; 30 function gtag() { 31 dataLayer.push(arguments); 32 } 33 gtag('js', new Date()); 34 gtag('config', '
34G-S5QK8VSK84
vendor: 11 bytes, lines 34-35
34'); 35
35gtag('config', 'AW-1071701331'); 36 </script>
36 37 <link href="./_app/immutable/entry/start.C25Jb3r6.js" rel="modulepreload"> 38 <link href="./_app/immutable/chunks/DTHc69UW.js" rel="modulepreload"> 39 <link href="./_app/immutable/chunks/DLg-vmKF.js" rel="modulepreload"> 40 <link href="./_app/immutable/entry/app.C1Y5XPLu.js" rel="modulepreload"> 41 <link href="./_app/immutable/chunks/kNaey6uv.js" rel="modulepreload"> 42 <link href="./_app/immutable/chunks/xihTtKlq.js" rel="modulepreload"> 43 <link href="./_app/immutable/nodes/0.C_LjckQI.js" rel="modulepreload"> 44 <link href="./_app/immutable/chunks/BG3M9rDN.js" rel="modulepreload"> 45 <link href="./_app/immutable/chunks/D1GSm-AM.js" rel="modulepreload"> 46 <link href="./_app/immutable/chunks/BCTQZqmF.js" rel="modulepreload"> 47 <link href="./_app/immutable/chunks/Dqphup8O.js" rel="modulepreload"> 48 <link href="./_app/immutable/chunks/-RZBX84i.js" rel="modulepreload"> 49 <link href="./_app/immutable/chunks/Cx0mS2gh.js" rel="modulepreload"> 50 <link href="./_app/immutable/chunks/CNaPRjip.js" rel="modulepreload"> 51 <link href="./_app/immutable/chunks/Co1-bywE.js" rel="modulepreload"> 52 <link href="./_app/immutable/chunks/D2BKqvgt.js" rel="modulepreload"> 53 <link href="./_app/immutable/chunks/CQhSuhu0.js" rel="modulepreload"> 54 <link href="./_app/immutable/chunks/Pl-DEOOm.js" rel="modulepreload"> 55 <link href="./_app/immutable/chunks/sRhlbMjX.js" rel="modulepreload"> 56 <link href="./_app/immutable/nodes/89.FE23By_w.js" rel="modulepreload"> 57 <link href="./_app/immutable/chunks/DM5EhVU6.js" rel="modulepreload"> 58 <link href="./_app/immutable/chunks/B-bNEtGJ.js" rel="modulepreload"> 59 <!--12qhfyh--><link rel="canonical" href="https://gojs.net/latest/pricing"/> <meta property="og:type" content="website"/> <meta property="og:site_name" content="GoJS"/> <meta property="og:url" content="https://gojs.net/latest/pricing"/> <meta property="og:image" content="https://gojs.net/latest/assets/images/fp/og.png"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@northwoodsgo"/> <meta name="twitter:image" content="https://gojs.net/latest/assets/images/fp/og.png"/> <!---->
59<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://gojs.net/#organization","name":"Northwoods Software","url":"https://nwoods.com","logo":"https://gojs.net/latest/assets/images/fp/og.png","sameAs":["https://github.com/NorthwoodsSoftware/GoJS","https://twitter.com/northwoodsgo","https://www.npmjs.com/package/gojs"]},{"@type":"SoftwareApplication","@id":"https://gojs.net/latest/#gojs","name":"GoJS","applicationCategory":"DeveloperApplication","operatingSystem":"Web","programmingLanguage":["JavaScript","TypeScript"],"description":"GoJS is a JavaScript and TypeScript library for building interactive diagramming apps - org charts, flowcharts, BPMN, SCADA, UML, and custom visual editors.","url":"https://gojs.net/latest/","publisher":{"@id":"https://gojs.net/#organization"},"offers":{"@type":"Offer","url":"https://gojs.net/latest/pricing","category":"Commercial software license"}}]}</script>
59<!----><!----><!--1cmi4dh-->
59<script> 60 document.documentElement.classList.toggle( 61 'dark', 62 localStorage.theme === 'dark' || 63 (!('theme' in localStorage) && 64 window.matchMedia('(prefers-color-scheme: dark)').matches) 65 ); 66 </script>
66<!----><!----><!--1cmi4dh-->
66<script> 67 document.documentElement.classList.toggle( 68 'dark', 69 localStorage.theme === 'dark' || 70 (!('theme' in localStorage) && 71 window.matchMedia('(prefers-color-scheme: dark)').matches) 72 ); 73 </script>
73<!----><!----><!--1hrotn9--><meta name="description" content="GoJS pricing and licensing: Team, Group, and Enterprise licenses with perpetual distribution rights and one year of support and updates included."/> <meta property="og:title" content="Pricing & Licensing - GoJS"/> <meta property="og:description" content="GoJS pricing and licensing: Team, Group, and Enterprise licenses with perpetual distribution rights and one year of support and updates included."/><!----><title>Pricing & Licensing - GoJS</title> 74 <link href="./_app/immutable/assets/0.Z0nUMumG.css" rel="stylesheet"> 75 </head> 76 <body data-sveltekit-preload-data="hover"> 77 <div style="display: contents"><!--[--><!--[0--><!--[--><a href="#main" class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-50 focus:rounded focus:bg-background focus:px-3 focus:py-2 focus:text-foreground focus:outline-2 focus:outline-nwoods-primary">Skip to main content</a> <nav id="navTop" class="sticky top-0 w-full z-30 border-b bg-transparent border-border/0 transition-colors duration-500"><div class="flex flex-wrap items-center justify-between"><a class="dark:text-white text-foreground transition-colors duration-500 dark:bg-transparent leading-[calc(var(--topnav-h)-1px)] font-bold my-0 px-3 text-5xl logo " href="./">GoJS</a> <div class="flex items-center mr-2"><div class="relative"><!--[-1--><button data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground size-9 sm:hidden" type="button" aria-label="Navigation" title="Navigation"><svg viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="18" x2="21" y2="18"></line></g></svg><!----></button><!--]--><!----> <div id="topnavList" class="hidden sm:block"><div class="relative z-30 flex flex-row gap-1 md:gap-3 lg:gap-4 items-start text-foreground font-semibold"><!--[--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2" href="./learn"><!---->Learn<!----></a><!--]--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-
77px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2" href="./samples"><!---->Samples<!----></a><!--]--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2" href="./api/index.html"><!---->API<!----></a><!--]--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2" href="https://forum.nwoods.com/c/gojs/11" target="_blank" rel="noopener"><!---->Forum<!----></a><!--]--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2" href="./contact" data-sveltekit-reload=""><!---->Contact<!----></a><!--]--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2" href="./pricing" data-sveltekit-reload=""><!---->Pricing<!----></a>
77<!--]--><!--]--> <!--[-1--><button data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground size-9" type="button" aria-label="Toggle theme" title="Toggle theme"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="dark:hidden"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="hidden dark:block"><path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"></path></svg> <span class="sr-only">Toggle theme</span><!----></button><!--]--><!----></div></div></div></div></div></nav> <div id="topnavHamburger"><div class="fixed left-0 z-30 sm:hidden w-full h-full flex flex-col items-start bg-background text-foreground font-semibold transition duration-300 opacity-0 -translate-y-2 pointer-events-none"><!--[--><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-11 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full justify-start text-base px-4 py-8" href="./learn"><!---->Learn<!----></a><!--]--><!----> <div data-separator="" class="bg-border h-px self-stretch opacity-30 rounded mx-4"></div><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-11 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full justify-start text-base px-4 py-8" href="./samples"><!---->Samples<!----></a><!--]--><!----> <div data-separator="" class="bg-border h-px self-stretch opacity-30 rounded mx-4"></div><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-
77px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-11 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full justify-start text-base px-4 py-8" href="./api/index.html"><!---->API<!----></a><!--]--><!----> <div data-separator="" class="bg-border h-px self-stretch opacity-30 rounded mx-4"></div><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-11 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full justify-start text-base px-4 py-8" href="https://forum.nwoods.com/c/gojs/11" target="_blank" rel="noopener"><!---->Forum<!----></a><!--]--><!----> <div data-separator="" class="bg-border h-px self-stretch opacity-30 rounded mx-4"></div><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-11 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full justify-start text-base px-4 py-8" href="./contact" data-sveltekit-reload=""><!---->Contact<!----></a><!--]--><!----> <div data-separator="" class="bg-border h-px self-stretch opacity-30 rounded mx-4"></div><!--[0--><a data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground h-11 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full justify-start text-base px-4 py-8" href="./pricing" data-sveltekit-reload=""><!---->Pricing<!----></a><!--]--><!----> <div data-separator="" class="bg-border h-px self-stretch opacity-30 rounded mx-4"></div><!--]--> <!--[-1--><button data-slot="button" class="not-prose cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-foreground text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-
77px aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground size-9 w-full h-11 justify-start px-4 py-8" type="button" aria-label="Toggle theme" title="Toggle theme"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="dark:hidden"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="hidden dark:block"><path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"></path></svg> <span class="sr-only">Toggle theme</span><!----></button><!--]--><!----></div></div><!----> <main id="main" class="overflow-x-clip"><!--[-1--><!--[--><div class="relative"><div aria-hidden="true" class="pointer-events-none absolute -inset-x-240 -z-10 transform-gpu overflow-hidden blur-3xl -top-20 sm:-top-50"><div style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)" class="relative aspect-1155/678 w-200 -translate-x-1/2 bg-linear-to-tr from-cyan-400 to-sky-800 opacity-30 left-[calc(50%-2rem)] sm:left-[calc(50%-20rem)] sm:w-288.75"></div></div><!----></div> <div class="mx-auto max-w-7xl px-4 pt-10 pb-10 sm:px-6 sm:pt-14 sm:pb-14 lg:px-8"><div class="prose mx-auto max-w-3xl text-center"><h1 class="text-5xl">Pricing & licensing</h1> <p class="text-lg mt-3">All GoJS licenses are based upon our <a href="https://nwoods.com/licenses/LicenseAgreement" target="_blank" rel="noopener">Software License Agreement</a>. Northwoods Software also offers custom licensing terms for large organizations, 78 under an Enterprise License.</p></div> <div class="mt-8 flex flex-col items-center gap-4 md:flex-row md:items-stretch md:justify-between"><a href="./buy/team" data-sveltekit-reload="" class="group relative flex w-full max-w-sm flex-col items-start rounded-lg border border-border bg-card/70 p-6 transition-all hover:border-transparent shadow-xl hover:-translate-y-1 ease-in-out duration-300"><h2 class="my-0 text-3xl">Team</h2> <p class="my-4">For small development teams</p> <strong class="mb-6 text-2xl">$6,990</strong> <div aria-hidden="true" class="h-px self-stretch bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)]"></div> <ul class="mt-4 mb-7 flex-1 space-y-2"><!--[--><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> For up to three developers</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> One support contact</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Perpetual distribution rights</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> One year of support and updates included</li>
78<!--]--></ul><!----> <p class="flex items-center self-end font-semibold text-primary group-hover:text-primary/80">Request Quote or Buy <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" class="ml-1.5 size-3 shrink-0 group-hover:translate-x-1 transition-transform"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></p><!----> <span aria-hidden="true" class="group-hover:border-nwoods-primary transition-colors duration-300 pointer-events-none absolute -inset-px rounded-lg border-2 border-transparent"></span></a> <a href="./buy/group" data-sveltekit-reload="" class="group relative flex w-full max-w-sm flex-col items-start rounded-lg border border-border bg-card/70 p-6 transition-all hover:border-transparent shadow-xl hover:-translate-y-1 ease-in-out duration-300"><h2 class="my-0 text-3xl">Group</h2> <p class="my-4">For larger development teams</p> <strong class="mb-6 text-2xl">$11,950</strong> <div aria-hidden="true" class="h-px self-stretch bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)]"></div> <ul class="mt-4 mb-7 flex-1 space-y-2"><!--[--><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> For up to twenty developers</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Three support contacts</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Perpetual distribution rights</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> One year of support and updates included</li><!--]--></ul><!----> <p class="flex items-center self-end font-semibold text-primary group-hover:text-primary/80">Request Quote or Buy <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" class="ml-1.5 size-3 shrink-0 group-hover:translate-x-1 transition-transform"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></p><!----> <span aria-hidden="true" class="group-hover:border-nwoods-primary transition-colors duration-300 pointer-events-none absolute -inset-px rounded-lg border-2 border-transparent"></span></a> <a href="./contact" data-sveltekit-reload="" class="group relative flex w-full max-w-sm flex-col items-start rounded-lg border border-border bg-card/70 p-6 transition-all hover:border-transparent shadow-xl hover:-translate-y-1 ease-in-out duration-300"><h2 class="my-0 text-3xl">Enterprise</h2> <p class="my-4">For at-scale use across all organization projects and teams</p> <p class="mb-2">Contact sales for pricing</p> <div aria-hidden="true" class="h-px self-stretch bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)]"></div> <ul class="mt-4 mb-7 flex-1 space-y-2"><!--[--><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Unlimited developers</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Priority support</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Perpetual distribution rights</li><li class="flex items-start gap-2"><span class="pr-1"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----></span> Custom license terms</li>
78<!--]--></ul><!----> <p class="flex items-center self-end font-semibold text-primary group-hover:text-primary/80">Contact Sales <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" class="ml-1.5 size-3 shrink-0 group-hover:translate-x-1 transition-transform"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></p><!----> <span aria-hidden="true" class="group-hover:border-nwoods-primary transition-colors duration-300 pointer-events-none absolute -inset-px rounded-lg border-2 border-transparent"></span></a></div> <div class="relative isolate prose mx-auto my-8 sm:mb-16 sm:mt-20 sm:px-5"><div aria-hidden="true" class="pointer-events-none absolute -inset-x-240 -z-10 transform-gpu overflow-hidden blur-3xl -top-40"><div style="clip-path: polygon(73.6% 51.7%, 91.7% 11.8%, 99.9% 46.4%, 97.4% 82.2%, 92.5% 84.9%, 75.7% 64%, 55.3% 47.5%, 46.5% 49.4%, 45% 62.9%, 50.3% 87.2%, 21.3% 64.1%, 0.1% 99.9%, 5.4% 51.1%, 21.4% 63.9%, 58.9% 0.1%, 73.6% 51.7%)" class="relative aspect-1155/678 -translate-x-1/2 bg-linear-to-tr from-cyan-400 to-sky-800 left-[calc(50%+2rem)] w-200 opacity-10 sm:left-[calc(50%+16rem)] sm:w-288.75 dark:opacity-15"></div></div><!----> <div class="flex flex-col align-baseline lg:flex-row"><div class="flex-1"><div class="py-5 lg:px-12"><h2 class="text-2xl font-semibold">Individual and Academic Licenses</h2> <p>For individual consultants and sole proprietor businesses, we offer an 79 individual license with perpetual distribution and one year of support and 80 updates included: <strong class="text-foreground">$3,995</strong>. For more information, <a href="./contact" data-sveltekit-reload="">contact sales</a>.</p> <p>Academic licenses for non-commercial applications are available for current 81 students and academic staff. Contact sales to see if you qualify.</p> <h2 class="text-2xl font-semibold">Personal Non-Commercial License</h2> <p>GoJS is free for personal, non-commercial use, such as learning and hobby 82 projects, under our <a href="./nonCommercialLicense.html" target="_blank" rel="noopener">Non-Commercial Software License Agreement</a>. See <a href="./learn/deployment">Deployment Instructions</a> for license 83 key details.</p> <p>The non-commercial license is for individuals only. Organizations of any kind, 84 including non-profits and governmental departments, require a commercial 85 license.</p></div></div> <div class="h-px bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)] lg:h-auto lg:w-px lg:bg-[linear-gradient(to_top,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)]" role="separator"></div> <div class="flex-1"><div class="py-5 lg:px-12"><h2 class="text-2xl font-semibold">Payment options</h2> <p>We accept all major credit cards. We also accept bank transfers (Wire and 86 ACH), and checks in U.S. currency. Please <a href="./contact" data-sveltekit-reload="">contact us</a> if you wish to purchase this way.</p> <p>If you wish to purchase in another currency, please contact sales.</p> <p>We work with resellers around the world. Contact sales if you need assistance 87 locating a reseller in your country, or if your company is interested in 88 becoming a reseller.</p> <h2 class="text-2xl font-semibold">Support</h2> <p>We support purchased software products via email and online forum. All support 89 is developer-to-developer with the creators of the libraries.</p> <p>Prices above include one year of support and updates. Extended support plans 90 can be purchased in the shopping cart. We will contact you 30 days prior to 91 your renewal date with details on the renewal.</p> <h2 class="text-2xl font-semibold">Terms & conditions</h2> <p>GoJS is licensed per developer. There are no runtime fees or royalties for 92 applications produced with GoJS. All sales are from Nashua, New Hampshire. The 93 State of New Hampshire does not impose a sales tax. Collection and payment of 94 any other taxes or duties, both US and international, are the sole 95 responsibility of the customer.</p> <p><a href="https://nwoods.com/sales/privacy" target="_blank" rel="noopener">Our privacy policy</a></p></div></div></div></div> <div class="mx-auto mt-10 h-px max-w-xs bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)] sm:max-w-none" role="separator"></div> <div class="flex flex-col my-8 sm:my-16"><div class="sm:mx-auto"><h2 class="text-2xl font-semibold">Trusted by Fortune 500 and beyond</h2></div> <div class="mx-auto mt-10 grid max-w-lg grid-cols-4 items-center gap-x-8 gap-y-10 sm:max-w-xl sm:gap-x-10 lg:mx-0 lg:max-w-none"><!--[--><img class="h-8 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Airbus.svg" alt="airbus" loading="lazy"/><img class="h-12 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/JJ.svg" alt="j and j" loading="lazy"/><img class="h-8 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Siemens.svg" alt="siemens" loading="lazy"/><img class="h-12 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Visa.svg" alt="visa" loading="lazy"/><img class="h-12 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Kinaxis.svg" alt="kinaxis" loading="lazy"/><img class="h-8 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Bosch.svg" alt="bosch" loading="lazy"/><img class="h-12 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/EY.svg" alt="ey" loading="lazy"/><img class="h-8 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Hitachi.svg" alt="hitachi" loading="lazy"/><img class="h-12 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/GE.svg" alt="ge" loading="lazy"/><img class="h-10 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/RockwellAutomation.svg" alt="rockwell automation" loading="lazy"/><img class="h-10 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Trane.svg" alt="trane" loading="lazy"/><img class="h-8 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Yokogawa.svg" alt="yokogawa" loading="lazy"/><img class="h-10 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Trimark.svg" alt="trimark" loading="lazy"/><img class="h-10 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/GDMissionSystems.svg" alt="general dynamics mission systems" loading="lazy"/><img class="h-10 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/Dassault
95Systemes.svg" alt="dassault systemes" loading="lazy"/><img class="h-10 max-h-12 w-full object-contain dark:brightness-0 dark:invert-100" src="/4.0.4/assets/images/fp/customer/NXP.svg" alt="nxp" loading="lazy"/><!--]--></div><!----></div> <div class="mx-auto my-10 h-px max-w-xs bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)] sm:max-w-none" role="separator"></div> <section class="relative isolate mx-auto mt-8 max-w-4xl sm:mt-16"><div aria-hidden="true" class="pointer-events-none absolute -inset-x-240 -z-10 transform-gpu overflow-hidden blur-3xl -top-32"><div style="clip-path: polygon(73.6% 48.3%, 91.7% 88.2%, 99.9% 53.6%, 97.4% 17.8%, 92.5% 15.1%, 75.7% 36%, 55.3% 52.5%, 46.5% 50.6%, 45% 37.1%, 50.3% 12.8%, 21.3% 35.9%, 0.1% 0.1%, 5.4% 48.9%, 21.4% 36.1%, 58.9% 99.9%, 73.6% 48.3%)" class="relative aspect-1155/678 -translate-x-1/2 left-[calc(50%+3rem)] w-200 bg-linear-to-r from-cyan-300 to-sky-700 opacity-10 sm:left-[calc(50%+20rem)] sm:w-275 dark:opacity-15"></div></div><!----> <div class="mx-auto max-w-3xl sm:text-center"><h2 class="text-2xl font-semibold">Built-in tools for all team sizes</h2></div> <div class="mt-4"><div class="grid grid-cols-1 gap-x-12 sm:px-6 py-2 sm:grid-cols-2"><ul class="divide-y divide-border"><li><a href="./learn/layouts" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Automatic layouts</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/nodes" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Node & link templating</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/dataBinding" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Data binding</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/transactions" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Undo & redo</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/commands" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Keyboard shortcuts & commands</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/groups" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Subgraphs & groups</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----></ul> <ul class="divide-y divide-border border-t border-border sm:border-t-0"><li><a href="./learn/tools" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Extensible tools</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/events" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Custom events & permissions</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/contextMenus" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Context menus & tooltips</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/platforms" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>React, Angular, Vue, & Svelte support</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./learn/typings" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Built in TypeScript type definitions</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----> <li><a href="./api/index.html" class="group flex items-center gap-3 py-3 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="inline-block size-5"><path d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Z" class="fill-nwoods-primary transition-colors"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg><!----> <span>Extensive documentation</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="ml-auto size-2.5 shrink-0 -translate-x-1 opacity-0 transition-all group-hover:translate-x-0 group-hover:opacity-100"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></a></li><!----></ul></div></div></section></div><!--]--><!--]--><!----></main>
95 <footer class="relative text-foreground border-t mt-16 py-16 overflow-clip"><div aria-hidden="true" class="pointer-events-none absolute -inset-x-240 transform-gpu overflow-hidden blur-3xl hidden sm:block -top-20 sm:-top-50 -z-100 opacity-60 dark:opacity-30 mask-t-from-0% mask-l-from-20% dark:mask-l-from-100%"><div style="clip-path: polygon(25.9% 44.1%, 0.1% 61.6%, 2.5% 26.9%, 14.5% 0.1%, 19.3% 2%, 27.5% 32.5%, 39.8% 62.4%, 47.6% 68.1%, 52.5% 58.3%, 54.8% 34.5%, 72.5% 76.7%, 99.9% 64.9%, 82.1% 99.9%, 72.4% 76.8%, 23.9% 97.7%, 25.9% 44.1%)" class="relative aspect-1155/678 w-200 -translate-x-1/2 bg-linear-to-tr from-cyan-400 to-sky-800 opacity-30 left-[calc(50%-2rem)] sm:left-[calc(50%-20rem)] sm:w-288.75"></div></div><!----> <div class="relative max-w-7xl mx-auto px-6 lg:px-8"><div class="absolute -z-50 inset-x-6 lg:inset-x-8 -bottom-16 h-[calc(100%+4rem)]"><img class="dark:hidden h-full w-auto lg:h-auto lg:max-h-full lg:w-full object-cover opacity-18 mask-t-from-0% lg:mask-t-from-50% lg:mask-r-from-30% grayscale invert" src="./assets/images/fp/audio_editor_footer2.png" alt="GoJS SCADA Diagram faded into the footer" width="3840" height="1311" loading="lazy"/> <img class="hidden dark:block h-full w-auto lg:h-auto lg:max-h-full lg:w-full object-cover opacity-30 mask-t-from-0% lg:mask-t-from-50% lg:mask-r-from-20% mask-radial-from-20% grayscale" src="./assets/images/fp/audio_editor_footer2.png" alt="GoJS SCADA Diagram faded into the footer" width="3840" height="1311" loading="lazy"/></div> <div class="lg:grid lg:grid-cols-2"><div class="hidden items-start gap-8 lg:flex"><div class="flex gap-2 items-center min-w-35"><div class="logo h-10 w-10 shrink-0 text-[1.65rem] flex items-center justify-center rounded-lg text-white font-bold bg-nwoods-primary"><span class="leading-none">Go</span></div> <p class="text-xs/6 text-foreground">By Northwoods <br/>Software</p></div><!----></div> <div class="grid grid-cols-2 gap-8 sm:grid-cols-4 lg:grid-cols-4"><div class="lg:hidden"><div class="flex gap-2 items-center min-w-35"><div class="logo h-10 w-10 shrink-0 text-[1.65rem] flex items-center justify-center rounded-lg text-white font-bold bg-nwoods-primary"><span class="leading-none">Go</span></div> <p class="text-xs/6 text-foreground">By Northwoods <br/>Software</p></div><!----></div> <div><h3 class="my-0 text-sm/6 font-semibold text-foreground">GoJS</h3> <ul class="list-none mt-6 space-y-1"><li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./samples">Samples</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./learn">Learn</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./api/index.html">API</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./changelog">Changelog</a></li><!----></ul></div> <div><h2 class="my-0 text-sm/6 font-semibold text-foreground">Solutions</h2> <ul class="list-none mt-6 space-y-1"><!--[--><li><a class="text-sm/6 text-foreground/70 hover:text-foreground whitespace-pre-line" href="./solutions/scada-hmi" data-sveltekit-reload="">SCADA / HMI</a></li><li><a class="text-sm/6 text-foreground/70 hover:text-foreground whitespace-pre-line" href="./solutions/flowcharts" data-sveltekit-reload="">Flowcharts / Workflows</a></li><!--]--></ul></div> <div><h2 class="my-0 text-sm/6 font-semibold text-foreground">Support</h2> <ul class="list-none mt-6 space-y-1"><li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./pricing" data-sveltekit-reload="">Pricing</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./contact" data-sveltekit-reload="">Contact</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="https://nwoods.com/register" target="_blank" rel="noopener">Register</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="https://forum.nwoods.com/c/gojs" target="_blank" rel="noopener">Forum</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="https://nwoods.com/app/activate.aspx?sku=gojs" target="_blank" rel="noopener">Activate</a></li><!----></ul></div> <div><h2 class="my-0 text-sm/6 font-semibold text-foreground">Company</h2> <ul class="list-none mt-6 space-y-1"><li>
95<a class="text-sm/6 text-foreground/70 hover:text-foreground" href="https://nwoods.com" target="_blank" rel="noopener">Northwoods</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="https://nwoods.com/about" target="_blank" rel="noopener">About Us</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="./contact" data-sveltekit-reload="">Contact Us</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="https://nwoods.com/consulting" target="_blank" rel="noopener">Consulting</a></li><!----></ul></div></div></div> <div class="mt-12 pt-8 md:flex md:items-center md:justify-between"><div class="flex gap-x-6 md:order-2"><a class="text-foreground/70 hover:text-foreground self-center" href="https://www.npmjs.com/package/gojs" target="_blank" rel="noopener"><span class="sr-only">npm</span> <svg viewBox="0 0 780 250" fill="currentColor" aria-hidden="true" class="size-7"><path d="M240,250h100v-50h100V0H240V250z M340,50h50v100h-50V50z M480,0v200h100V50h50v150h50V50h50v150h50V0H480z M0,200h100V50h50v150h50V0H0V200z" clip-rule="evenodd" fill-rule="evenodd"></path></svg></a> <a class="text-foreground/70 hover:text-foreground" href="https://github.com/NorthwoodsSoftware/GoJS" target="_blank" rel="noopener"><span class="sr-only">GitHub</span> <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="size-6"><path d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" fill-rule="evenodd"></path></svg></a> <a class="text-foreground/70 hover:text-foreground" href="https://twitter.com/northwoodsgo" target="_blank" rel="noopener"><span class="sr-only">Twitter/X</span> <svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" class="size-6"><path d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z"></path></svg></a></div> <p class="mt-8 text-xs/6 text-muted-foreground md:mt-0 md:order-1">© 1998-2026 Northwoods Software</p></div> <!--[-1--><!--]--></div></footer><!----><!--]--><!--]--> <!--[-1--><!--]--><!--]--> 96 97
97<script> 98 { 99 __sveltekit_sajqey = { 100 base: new URL(".", location).pathname.slice(0, -1), 101 assets: "/4.0.4" 102 }; 103 104 const element = document.currentScript.parentElement; 105 106 Promise.all([ 107 import("./_app/immutable/entry/start.C25Jb3r6.js"), 108 import("./_app/immutable/entry/app.C1Y5XPLu.js") 109 ]).then(([kit, app]) => { 110 kit.start(app, element, { 111 node_ids: [0, 89], 112 data: [null,null], 113 form: null, 114 error: null 115 }); 116 }); 117 } 118 </script>
118 119 </div> 120
120<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"2292adf0365545c4ad1bea02c128a92b","spa":2}' crossorigin="anonymous"></script>
120 121</body> 122</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.