If you have resources in a .NET .resx or .resources file and you need them in an unmanaged project, an installer, or an RC-based build, you need a conversion step. Resource Builder does it in one command: images come out as real BITMAPICON, and CURSOR resources, and everything else is preserved as named RCDATA with its bytes intact.

This is the .resx/.resources to native direction. If instead you want to edit a .resx file, or diff two of them, see the guides on editing .NET resource files and comparing resources.

What the conversion produces

-conv maps each .NET entry to a native resource:

.NET Entry

Native result

Bitmap

a real BITMAP resource

Icon

a real ICON resource (a multi-size entry becomes a GROUP_ICON plus its ICON members)

Cursor

a real CURSOR resource

String, Boolean, Byte, Int16/32/64, Byte Array, or any opaque CLR type

an RCDATA resource named after the .NET entry, holding its raw bytes unchanged

Two output forms:

  • .res is the compiled binary resource file, ready to link.
  • .rc is a plain resource script. Every entry’s bytes are inlined as hex, so the script is completely self-contained: there are no companion image or data files to keep next to it. You can open it, read it, edit it, and compile it with any RC compiler.

Convert from the command line

The console tool is sircc64.exe. The main application, Resbldr5.exe, accepts the same -conv syntax.

Between .resx and .resources

sircc64.exe -conv Strings.resx Strings.resources

The direction is taken from the file extensions. Omit the output name and the opposite extension is used automatically:

sircc64.exe -conv Strings.resx

To a native .res

sircc64.exe -conv App.resx App.res

The generated script is compiled internally and only the .res is written.

To a native .rc script

sircc64.exe -conv App.resx App.rc

This writes the script itself, uncompiled. To confirm it is valid, compile it and compare:

sircc64.exe -c App.rc App-from-rc.res

App-from-rc.res is byte-identical to the .res that -conv ... App.res produces directly.

Batch conversion

Batch mode is currently supported only for converting between the two .NET formats. Point -conv at a *.resx or *.resources pattern (* and ? wildcards) and every match is converted to the opposite format in one call:

sircc64.exe -conv *.resx

Output names are auto-derived from the inputs, so an explicit output name is ignored here. Use -o <dir> to collect the results in one folder instead of writing each next to its source.

Converting to a native .res or .rc is one file at a time. Wildcards are not accepted for those targets.

Exit codes

0 success, 1 error, 2 one or more files failed in a batch run. That makes -conv safe to drop into a build script.

Convert .resx to .resources in the app

If you just need to flip a file between the two .NET formats and would rather not use the command line: open it in Resource Builder, choose File > Save As, and pick the other format from the file-type list.

Convert .resx to .resources in the app
Convert .resx to .resources in the app

Native .res and .rc are not offered as Save As targets. For those, use -conv.

Getting .NET resources into a native project you already have open

If your goal is not a standalone file but to merge .NET resources into an existing native .rc or .res project, do it in the app instead. With the native project open, use File > Import or File > Merge and point it at the .resx/.resources file. The entries are converted and added in place, using the same mapping as -conv.

The reverse direction

-conv does not convert a native .rc.res.exe, or .dll into .resx/.resources. It rejects that with a clear message rather than attempting it.

You can still go native to .NET inside the app. Open a .resx/.resources project and use File > Import or File > Merge on a native source. Icon, cursor, and bitmap resources become real .NET entries, STRINGTABLE bundles are unpacked into individual .NET String entries named after each string’s #define, and other types (RCDATA, version info, manifest) are carried through as opaque byte arrays. Menu, dialog, and accelerator resources have no .NET equivalent and are skipped, with a count reported at the end.

Things to know

Try it

Resource Builder is a commercial tool with a free 30-day trial. Download it from the Download page and run sircc64.exe -conv yourfile.resx yourfile.rc to see the script it generates.

Copyright © 1999-2026 Igor Siticov, SiComponents. All rights reserved.

TsiLang®, Resource Builder® and SiComponents® are registered trademarks of Igor Siticov.