PageSourceSearch

https://gojs.net/latest/contact

html gojs.net collected 2026-09-24 21:53:41 UTC 40,062 bytes, 83 lines download raw bytes

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 /latest
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="/latest/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('/latest/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    <!--12qhfyh--><link rel="canonical" href="https://gojs.net/latest/contact"/> <meta property="og:type" content="website"/> <meta property="og:site_name" content="GoJS"/> <meta property="og:url" content="https://gojs.net/latest/contact"/> <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"/> <!---->
37<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>
37<!----><!----><!--1cmi4dh-->
37<script>
38    document.documentElement.classList.toggle(
39      'dark',
40      localStorage.theme === 'dark' ||
41        (!('theme' in localStorage) &&
42          window.matchMedia('(prefers-color-scheme: dark)').matches)
43    );
44  </script>
44<!----><!----><!--1cmi4dh-->
44<script>
45    document.documentElement.classList.toggle(
46      'dark',
47      localStorage.theme === 'dark' ||
48        (!('theme' in localStorage) &&
49          window.matchMedia('(prefers-color-scheme: dark)').matches)
50    );
51  </script>
51<!----><!----><!--1bv7ezn--><meta name="description" content="Contact the GoJS team at Northwoods Software with questions about GoJS, evaluation, licensing, and pricing."/> <meta property="og:title" content="Contact Us - GoJS"/> <meta property="og:description" content="Contact the GoJS team at Northwoods Software with questions about GoJS, evaluation, licensing, and pricing."/><!----><title>Contact Us - GoJS</title>
52		<link href="/latest/_app/immutable/assets/0.Z0nUMumG.css" rel="stylesheet">
53  </head>
54  <body data-sveltekit-preload-data="hover">
55    <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="/latest/">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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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-px aria-invalid:ring-3 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/samples"><!---->Samples<!----></a>
55<!--]--><!--[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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/pricing" data-sveltekit-reload=""><!---->Pricing<!----></a><!--]--><!--]--> <!--[-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-
55px aria-invalid:ring-3 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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-
55px aria-invalid:ring-3 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="/latest/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-
55px aria-invalid:ring-3 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_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="flex min-h-[calc(100dvh-var(--topnav-h)-28rem)] items-center justify-center px-2 py-10 sm:py-14"><section class="relative isolate mx-auto max-w-7xl w-fit lg:w-full px-4 sm:px-6 lg:px-8 py-8 md:py-10 flex flex-col lg:flex-row gap-6 lg:gap-12"><div aria-hidden="true" class="pointer-events-none absolute -inset-x-240 -z-10 transform-gpu overflow-hidden blur-3xl top-20 sm: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="lg:max-w-md mx-auto max-w-3xl flex flex-col"><h1 class="text-5xl mt-1.5">Contact us</h1> <p class="my-3">If you have questions about:</p> <ul class="my-3 space-y-2"><div class="flex gap-3 pl-1"><dt class="shrink-0 font-semibold"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="mt-px 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"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg></dt> <dd>Pricing, licensing, and domains</dd></div><!----> <div class="flex gap-3 pl-1"><dt class="shrink-0 font-semibold"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="mt-px 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"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg></dt> <dd>Evaluating and implementing solutions</dd></div><!----> <div class="flex gap-3 pl-1"><dt class="shrink-0 font-semibold"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="mt-px 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"></path><path d="M12 7.5 7.5 12 12 16.5 16.5 12 12 7.5Z" class="fill-primary-foreground"></path></svg></dt> <dd>GoJS technical inquiries</dd></div><!----></ul> <p class="my-3">Send us a message and we will get back to you.</p> <p class="mt-4 mb-3">As a group of dedicated engineers, we take pride in our developer-to-developer
56        support.</p> <div class="flex flex-col mt-2 text-muted-foreground text-sm"><div class="py-3 text-foreground font-bold">More resources:</div> <a href="/latest/pricing"><div class="py-3 border-b flex justify-between items-center transition-colors hover:text-foreground"><p class="pl-2">Pricing &amp; licensing</p> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" class="size-3 shrink-0"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></div></a><!----> <a href="https://forum.nwoods.com/c/gojs/11" target="_blank"><div class="py-3 border-b flex justify-between items-center transition-colors hover:text-foreground"><p class="pl-2">GoJS Forum</p> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" class="size-3 shrink-0"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></div></a><!----> <a href="https://nwoods.com" target="_blank"><div class="py-3 border-b flex justify-between items-center transition-colors hover:text-foreground"><p class="pl-2">Northwoods Software website</p> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 20" stroke-width="1.5" stroke="currentColor" class="size-3 shrink-0"><path stroke-linecap="round" stroke-linejoin="round" d="M0 0 10 10 0 20"></path></svg></div></a><!----></div></div> <div class="mx-auto lg:-my-10 h-px lg:w-px lg:h-auto max-w-xs bg-[linear-gradient(to_right,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)] lg:bg-[linear-gradient(to_top,transparent,var(--color-border)_20%,var(--color-border)_80%,transparent)]" role="separator"></div> <div class="grid w-full mx-auto max-w-3xl"><!--[-1--><!--]--> <form method="POST" class="col-start-1 row-start-1 w-full"><input type="email" id="email2" name="email2" class="hidden" tabindex="-1" autocomplete="off" aria-hidden="true"/> <input type="hidden" name="platform" value="gojs"/> <input type="hidden" name="contactSource" value="gojs-contact"/> <input type="hidden" name="u" value=""/> <input type="hidden" name="tos" value=""/> <input type="hidden" name="a" value=""/> <div class="grid gap-5 sm:grid-cols-2"><div class="flex flex-col gap-1.5"><label for="contact" class="text-sm font-medium text-foreground">Name<!--[-1--><!--]--></label> <input id="contact" name="contact" type="text" required="" autocomplete="name" class="w-full rounded-md border border-input bg-background dark:bg-card px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"/></div><!----> <div class="flex flex-col gap-1.5"><label for="company" class="text-sm font-medium text-foreground">Company<!--[-1--><!--]--></label> <input id="company" name="company" type="text" required="" autocomplete="organization" class="w-full rounded-md border border-input bg-background dark:bg-card px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"/></div><!----> <div class="flex flex-col gap-1.5"><label for="email" class="text-sm font-medium text-foreground">Email<!--[-1--><!--]--></label> <input id="email" name="email" type="email" required="" autocomplete="email" class="w-full rounded-md border border-input bg-background dark:bg-card px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"/></div><!----> <div class="flex flex-col gap-1.5"><label for="phone" class="text-sm font-medium text-foreground">Phone<!--[0--><span class="font-normal text-muted-foreground"> (optional)</span><!--]--></label> <input id="phone" name="phone" type="tel" autocomplete="tel" class="w-full rounded-md border border-input bg-background dark:bg-card px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"/></div><!----></div> <div class="mt-5 flex flex-col gap-1.5"><label for="about" class="text-sm font-medium text-foreground">Subject</label> <input id="about" name="about" type="text" required="" class="w-full rounded-md border border-input bg-background dark:bg-card px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"/></div> <div class="mt-5 flex flex-col gap-1.5">
56<label for="request" class="text-sm font-medium text-foreground">Message</label> <textarea id="request" name="request" rows="6" required="" class="w-full rounded-md border border-input bg-background dark:bg-card px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground shadow-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50"></textarea></div> <label class="mt-8 flex items-start gap-2.5 text-sm text-muted-foreground"><input type="checkbox" name="subscribe" class="mt-0.5 size-4 accent-primary"/> <span>Send me occasional GoJS news and release announcements</span></label> <div class="mt-8 flex flex-wrap items-center gap-4"><!--[-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-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px aria-invalid:ring-3 [&amp;_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 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 bg-nwoods-primary text-primary-foreground hover:bg-nwoods-primary/80 h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 w-full sm:w-auto" type="submit"><!---->Send message<!----></button><!--]--><!----> <!--[-1--><!--]--></div></form></div></section></div><!--]--><!--]--><!----></main> <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="/latest/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="/latest/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>
56<a class="text-sm/6 text-foreground/70 hover:text-foreground" href="/latest/samples">Samples</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="/latest/learn">Learn</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="/latest/api/index.html">API</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="/latest/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="/latest/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="/latest/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="/latest/pricing" data-sveltekit-reload="">Pricing</a></li><!----> <li><a class="text-sm/6 text-foreground/70 hover:text-foreground" href="/latest/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><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="/latest/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>
56 <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--><!--]--><!--]-->
57			
58			
58<script>
59				{
60					__sveltekit_xnamca = {
61						base: "/latest",
62						assets: "/latest"
63					};
64
65					const element = document.currentScript.parentElement;
66
67					Promise.all([
68						import("/latest/_app/immutable/entry/start.Bmr-Fgac.js"),
69						import("/latest/_app/immutable/entry/app.CAIrMIgH.js")
70					]).then(([kit, app]) => {
71						kit.start(app, element, {
72							node_ids: [0, 14],
73							data: [null,{type:"data",data:null,uses:{}}],
74							form: null,
75							error: null
76						});
77					});
78				}
79			</script>
79
80		</div>
81  
81<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>
81
82</body>
83</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.