Data format

RESX converter

A .resx file is a .NET XML resource file: a list of named data elements, each holding a value and an optional comment, used for the translatable strings and embedded assets of a .NET application. Visual Studio compiles it into a binary .resources file that is embedded in the assembly.

Private for supported formats — processed in your browser

Convert supported files

Runs on your device

Drop RESX files here

Batch files can each use a different output. Nothing uploads for local conversions.

Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.

Where RESX comes from

RESX arrived with .NET Framework 1.0 in 2002 as the XML-editable front end to the binary .resources format, replacing the plain-text .txt resource files of earlier tooling. Its per-culture naming convention — Strings.resx, Strings.fr.resx, Strings.fr-CA.resx — became the standard way .NET applications carry translations, and it survived unchanged into .NET Core and .NET 5+ despite the platform being rewritten around it.

How RESX works

  • The document root is a plain <root> element; each entry is a <data name=…> containing <value> and optionally <comment>.
  • Real files begin with a large embedded XSD schema and a block of resheader elements that declare the reader, writer and format version.
  • Non-string resources are supported by declaring a mimetype and storing base64 — an icon or an audio clip can live in the same file as the strings.
  • The xml:space="preserve" attribute on a data element is how leading and trailing whitespace survives, and dropping it silently trims values.
  • Localised variants are selected by filename culture suffix, not by anything inside the document.

When to use RESX

  • Localising a WinForms, WPF, ASP.NET or MAUI application
  • Handing .NET strings to a translation platform in a form it recognises
  • Migrating strings out of a legacy .NET application into a cross-platform catalog
  • Auditing which strings exist per culture across a set of satellite resource files

Strengths and limitations

Strengths

  • First-class in the .NET toolchain with designer support and compile-time accessors
  • Can carry binary assets alongside strings, keeping a UI's resources together
  • Comments are a real field rather than a convention

Limitations

  • Extremely verbose — the schema preamble often outweighs the content
  • The culture lives in the filename, so a file taken out of its directory loses its identity
  • Base64 assets bloat files and diff terribly
  • No plural support; .NET handles plurals in code, not in the resource

Compatibility

Visual Studio, Rider and the .NET SDK read RESX natively, and the major translation platforms support it. Anything outside the .NET world generally does not. Novus Convert reads the data/value/comment structure locally, refuses documents declaring a doctype or custom entities, and converts to and from the other localization formats; binary base64 resources are outside the string-catalog model and are not carried across.

Entry names, values and comments are preserved. The schema preamble, resheader declarations and base64 binary resources are not represented in string-catalog targets, and the culture — which lives in the filename — is not part of the document at all.