GUID Generator - Windows application

Because the only function of the program is to generate a GUIDs, its interface is very simple and intuitive: just click Generate GUIDs button, then the program will generate new GUIDs and add them to the list.

You can select any number of GUIDs visible on the list, copy them to the clipboard and save to a text file.

Main window

GUID settings

Number of GUIDs to generate
As the name suggest, here you can set the number of GUIDs to generate. The maximum value is 250 000. If you need more GUIDs, set this parameter to maximum value and click Generate GUIDs button a few times.
Lower case
By default, all letters in the GUIDs are displayed as uppercase. If you prefer lowercase, check this option.
Swap bytes
Reverse byte order in multi-byte members of the GUID structure (Data1, Data2, Data3).
Prefix
If checked, the text from the edit control on the right will be added at the beginning of each GUID.
Suffix
If checked, the text from the edit control on the right will be added at the end of each GUID.
Copy GUID(s) after generation
When checked, the program will copy the generated GUIDs to the clipboard. On the drop-down list you can choose whether to copy first/last/all newly generated GUIDs.

This option can be useful if you need to insert several GUIDs in various locations in the source code. Check Copy, select FIRST and click Stay on top button (with green pin icon) on the toolbar. Now, each time you click the Generate GUIDs, will be generated new GUID and copied to the clipboard. You can now paste the GUID in the source editor.

Automatically generate GUIDs at program startup
When checked, the program will generate GUIDs right after the start.
GUID format
Available formats:
FormatDescription
Registry {xx-xx} 32 digits separated by hyphens, enclosed in curly braces.
Example: {01020304-0506-0708-090A-0B0C0D0E0F10}
Hex [xx-xx] 32 digits separated by hyphens, enclosed in square brackets.
Example: [01020304-0506-0708-090A-0B0C0D0E0F10]
Hex (xx-xx) 32 digits separated by hyphens, enclosed in parentheses.
Example: (01020304-0506-0708-090A-0B0C0D0E0F10)
Hex xx-xx 32 digits separated by hyphens (default).
Example: 01020304-0506-0708-090A-0B0C0D0E0F10
Hex 32 digits without hyphens and braces.
Example: 0102030405060708090A0B0C0D0E0F10
Uniform Resource Name Example: urn:uuid:01020304-0506-0708-090A-0B0C0D0E0F10
GUID fields (Pascal) TGUID Pascal fields.
Example: $01020304,$0506,$0708,$09,$0A,$0B,$0C,$0D,$0E,$0F,$10
GUID members (C++) GUID struct members.
Example: 0x01020304,0x0506,0x0708,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10
Delphi interface Delphi interface identifier.
Example: ['{01020304-0506-0708-090A-0B0C0D0E0F10}']
IMPLEMENT_OLECREATE Example: IMPLEMENT_OLECREATE(<<class>>,<<external_name>>,0x01020304,0x0506,0x0708,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10);
DEFINE_GUID Example: DEFINE_GUID(<<name>>,0x01020304,0x0506,0x0708,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10);
static const GUID Example: static const GUID <<name>> = {0x01020304,0x0506,0x0708,{0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10}};
INT GUID structure members converted to string, separated by hyphens. Data4 member is divided into two groups: 2 and 6-byte.
Example: 16909060-1286-1800-009010-011012013014015016
INT 32-bit GUID structure interpreted as a sequence of four 32-bit unsigned integers.
Example: 16909060-117966086-202050057-269422093
HEX 32-bit As above, only decimal numbers are converted to hexadecimal.
Example: 01020304-07080506-0C0B0A09-100F0E0D
INT 64-bit GUID structure interpreted as a sequence of two 64-bit unsigned integers.
Example: 506660481424032516-1157159078456920585
HEX 64-bit As above, only decimal numbers are converted to hexadecimal.
Example: 0708050601020304-100F0E0D0C0B0A09
INT 128-bit 128-bit unsigned integer. The real value of the GUID.
Example: 21345817372864405881775281973894447876
HEX 128-bit INT 128-bit converted to hexadecimal notation.
Example: 100F0E0D0C0B0A090708050601020304

Command line options (switches)

GUI version of the program accepts all command line options (switches) of the console version, but some options are interpreted slightly differently. In addition, the GUI version accepts several additional options.

Mandatory arguments to long options are mandatory for short options too. Options are case-sensitive. Values are case insensitive. Values enclosed in square brackets are optional.

Common options:

Switch (Option)Description
-c, --count=NUM Number of GUIDs to generate.
-f, --format=FMT|IND Desired GUID format name or index (see description).
-l, --lower-case Display GUIDs in a lower case.
-s, --swap-bytes=[0|1] 0 - Turns off byte swapping.
1 (or any value other than 0) - Reverse byte order in multi-byte members of the GUID structure (Data1, Data2, Data3).
--wincompat The first hex digit in the Data3 field = 4 (CoCreateGuid compatible).
-pf, --prefix=STR Text string that will be added at the beginning of each GUID.
-sf, --suffix=STR Text string that will be added at the end of each GUID.
-cp, --copy=[VAL] Copies or disables copying generated GUID(s) to the clipboard.
Available values:
ALL - copy all generated GUIDs (default).
FIRST - copy only the first GUID.
LAST - copy only the last generated GUID.
DISABLE - disables copying GUIDs.
0 - alias for DISABLE.
-h, --help, /? Display help.
-V, --version Show application version.
--home Opens program home page in default browser.

Additional options:

Switch (Option)Description
--reset Reset all parameters to default values.
-i, --inifile=FILE INI file, which will be used to read and store settings.
--nosave Do not save settings to INI file.
--noload Do not load settings from INI file.
-g, --autogen=[0|1] Auto generate GUIDs on startup.
0 - Disabled.
1 (or any value other than 0) - Enabled.
Default value: 1.
-of, --output-file=FILE Output file. If specified, all GUIDs will be saved to FILE.
-u, --upper-case Display GUIDs in a upper case.
-pfc, --prefix-checked=[0|1] 0 - Uncheck the Prefix checkbox.
1 (or any value other than 0) - Check the Prefix checkbox.
-sfc, --suffix-checked=[0|1] 0 - Uncheck the Suffix checkbox.
1 (or any value other than 0) - Check the Suffix checkbox.
-ee, --esc-exit Exit the program by pressing the ESC key.
--close Closes program after completing all tasks (if any).
-xl, --left=INT Left position of the main window.
-xt, --top=INT Top position.
-xw, --width=INT Width of the main window.
-xh, --height=INT Height.
--show-options Show run-time parameters (parsed options).
-h, --help Show application help.
-V, --version Show program version.
--home Opens program homepage.

INI files

The program saves and reads settings to/from a file with the same name as the executable file but with the extension .ini (default GuidGenW.ini). If you change name of the original executable file (GuidGenW.exe) to eg. GuidGenW_Copy.exe, then the program will use the file GuidGenW_Copy.ini.

This allows you to create multiple copies of the program, and each copy will use other settings. Alternatively, you can pass the INI file to use on the command line (see description of the --inifile option above).

Portability

The application (GUI version) does not use registry, does not alter any system settings, does not need to work any additional runtime libraries or frameworks. All settings are stored with one INI file located in the application directory.

You can copy executable file (GuidGenW.exe) to USB drive, and run the program from that drive on other computers.