The GoDiagram library is software that is licensed under a commercial license agreement. It is not open-source. If you have downloaded a copy of the GoDiagram library from or NuGet for use in your own app, you may have noticed that a watermark appears in the diagram. You need to use a license key to remove this watermark.

When you want to deploy your app that uses GoDiagram, you will need to make a request at:

Enter your e-mail address and the e-mail address of the person who purchased a license for GoDiagram, the order number for that purchase, and the application name. This is your Application.ProductName or your assembly name, not the name of your project nor a namespace nor the name of your main window. Please make sure that e-mail from "" is not caught in your corporate or personal spam filter. If you contact us for further help either via our web site or by sending us email, please include the e-mail that our web server sent to you.

The GoDiagram library never "phones home" -- it will never initiate any network traffic other than when explicitly directed to do so, such as for getting image files from the web.

Our server will generate a GoDiagram license key for you, in the form of a C# statement that you will need to include with your code. It must execute before you create your first Diagram. This could be in a static constructor, or your main program or form before constructing a Diagram control.

// Must execute before you create your first Diagram:
Diagram.LicenseKey = "YourKeyHere";

Note that this assignment is of a static property of the Diagram class: Diagram.LicenseKey. Of course you will need to substitute your generated license key string for "YourKeyHere" in the Diagram.LicenseKey assignment statement. License keys are long strings without any embedded whitespace or punctuation. You can request license keys for as many applications as you have licensed.

Once your key is in place, you can continue to use the same key while updating the patch version of GoDiagram. For example, a license key for version 10.0.3 will work for all versions 10.0.*. Remember to get a new license key when upgrading to a new major or minor version of GoDiagram. For example, when upgrading from version 10.3.1 to version 10.4.6, you will need a new license key. Also, remember to get a new license key if your application name changes.

License keys only depend on the major/minor version number and the application name. License keys are valid forever, as long as the major and minor version number of the library do not change and as long as the application name does not change.

You can add the GoDiagram for WinForms library as a reference using NuGet, or download the library from the GoDiagram Downloads page. We recommend NuGet as it will more reliably add toolbox items and necessary references.

Internationalization and Localization

GoDiagram apps can display text in non-Latin languages, but may require the proper font to be chosen. For example, see Japanese Family Tree.

The GoDiagram library does not manipulate currency values or date/time values or addresses, so there are no localization issues with those data types and values. GoDiagram does not contain any of its own icons (images).

Nor does GoDiagram display any built-in text strings, so no translation is needed. There are error and warning messages that may be output to the console, but those messages are only meant for debugging by programmers, not for consumption by end users. Reading and writing of numeric values is only performed internally when reading and writing JSON or geometry path strings or colors, which are all defined to use non-localized formats.

All user-visible text is completely under the control of the programmer. For localizability you may find it convenient to use conversion functions in Bindings. The TextEditingTool uses a TextBox element to implement in-place text input and text editing.