PowDLL is a .NET dynamic link library used for the interconversion procedure between variable formats of Powder X-Ray files. The DLL is capable of handling the most common file formats (binary and ASCII). The library can be used as a reusable component with any .NET language or as a standalone utility.


Bruker/Siemens RAW (versions 1,2,4), Bruker BRML, STOE RAW (plus multi-range files), Scintag RAW (plus multi-range files), Rigaku RAW, Shimadzu RAW, Philips RD, Philips SD, Scintag RD, Panalytical XRDML, INEL Binary, INEL ASCII, Scintag ARD, powderCIF, Sietronics CPI, Riet7 DAT, DBWS, GSAS (CW STD), Jade MDI, Rigaku RIG, Philips UDF, UXD, XDA, XDD, CCDC Mercury XYE, XPOWDER PLV (old and new format), UDF (NEX) and ASCII XY Files.


Bruker/Siemens RAW (versions 1,2), Philips RD, Scintag ARD, Sietronics CPI, Riet7 DAT, DBWS, GSAS (CW STD), Jade MDI, Rigaku RIG, Philips UDF, UXD, XDA, XDD, Panalytical XRDML, ASCII XY Files, MS-Excel Multiple XY, Xpowder PLV files.


Please cite if you find PowDLL useful:

PowDLL, a reusable .NET component for interconverting powder diffraction data: Recent developments, N. Kourkoumelis, ICDD Annual Spring Meetings (ed. Lisa O'Neill), Powder Diffraction, 28 (2013) 137-48.

Back to Top


(current version 2.76)

IMPORTANT: PowDLL is virus-free. Please check this virustotal report
Installation: Just unzip and run setup. PowDLL writes nothing to registry or to other folders in your computer (except of course from the uninstallation info written by the setup file).

Update: There is no need to uninstall any previous version (as long as you have accepted the default installation path). Just install the new one!

Requirements: .NET Framework 2.0 (or newer). If you have at least Windows Vista, it's already there. If you get updates from Microsoft, it's already there too. Otherwise get it for free @ Microsoft.com


PowDLL is free for academic or commercial use. PowDLL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY of being free of internal errors. The author is not responsible for erroneous results obtained with the program

Back to Top



PowDLL was presented at the International Centre for Diffraction Data (www.icdd.com) (March 2013)

I have received a complimentary copy of the awesome ACD/Labs Spectrus Processor 2012 because PowDLL enhances the capabilities of the Curve Manager 12.0 package of ACD/LABS. Thank you guys! (Feb 2012)


During the development many people have helped in numerous ways. I would like to especially thank :

Robert Papoular, Stephen Hillier, Nicola Döbelin, Martin Fisch, Jean-Marc Le Meins, Edwin Zeelmaekers, Nilesh Kulkarni, Holger Putz (Crystal Impact), Michael Boruta (ACD/Labs), J.D.Martin (XPowder), Patrick McArdle (Oscail)


PowDLL can keep various settings related to your preferences, from WL and window position to the where the user typically keeps the XRD data. However, due to Windows security reasons these settings can only be saved if PowDLL runs in "Administrative mode". Right-click, "Run as administrator". Once you do that, keep running PowDLL as usual.

PowDLL is (sometimes) incompatible with the latest (ver. 4) RAW format from Bruker. A possible workaround might be:
1) Use Bruker's "File exchange" and convert ver.4 to ver.3 RAW
2) Use PowDLL with these v3 RAW files

Tip from: Michael McNevin @ Merck Research Laboratories

References to PowDLL

(please contribute to this list...)

[13] R. Behrens, J. Bouchez, J.A. Schuessler, S. Dultz, T. Hewawasam, F. von Blanckenburg, Mineralogical transformations set slow weathering rates in low-porosity metamorphic bedrock on mountain slopes in a tropical climate, Chemical Geology, 411 (2015) 283-298 http://dx.doi.org/10.1016/j.chemgeo.2015.07.008

[12] J.B. Nanubolu, B. Sridhar, K. Ravikumar, Polymorphism in R-tamsulosin (an alpha blocker): the unexpected manifestation of a sulfonamide...o-diethoxybenzene heterosynthon, Journal of Molecular Structure (2014) http://dx.doi.org/10.1016/j.molstruc.2014.03.045

[11] Adsorption of N/S heterocycles in the flexible metal-organic framework MIL-53(FeIII) studied by in situ energy dispersive X-ray diffraction. Van de Voorde B, Munn AS, Guillou N, Millange F, De Vos DE, Walton RI. Physical Chemistry Chemical Physics 15 (2013) 8606-8615 http://dx.doi.org/10.1039/c3cp44349c

[10] Borehole geology and hydrothermal mineralisation of well OW-35, Olkaria east geothermal field, central Kenya rift valley. Michael Mwania, Samuel Munyiri and Emily Okech. GEOTHERMAL TRAINING PROGRAMME, Iceland (2013) http://www.os.is/gogn/unu-gtp-report/UNU-GTP-2013-01.pdf

[9] Dilatometry of powder compacts — Characterizing amorphous-crystalline transformations George D. Wang, Jerry Y.Y. Heng, Daryl R. Williams. Powder Technology, 236 (2013) 12-16 http://dx.doi.org/10.1016/j.powtec.2012.06.040

[8] Photoinduced Perturbations of the Magnetic Superexchange in Core-Shell Prussian Blue Analogues. Elisabeth S. Knowles, Matthieu F. Dumont, Marcus K. Peprah, Mark W. Meisel, Carissa H. Li, Matthew J. Andrus, Daniel R. Talham. Polyhedron, 66 (2013) 153-156. http://dx.doi.org/10.1016/j.poly.2013.03.019

[7] Synthesis, Structure, and Crystallization Study of a Layered Lithium Thiophene-Dicarboxylate. Racha El Osta, Michel Frigoli, Jérôme Marrot, Manuela E. Medina, Richard I. Walton, and Franck Millange Crystal Growth & Design 12 (3) (2012) 1531-1537 http://pubs.acs.org/doi/abs/10.1021/cg201587u

[6] Geochemical Database of Feed Coal and Coal Combustion Products (CCPs) from Five Power Plants in the United States, U.S. Department of the Interior / U.S. Geological Survey (2011) http://pubs.usgs.gov/ds/635/contents/Pamphlet.pdf

[5] Uptake of Liquid Alcohols by the Flexible FeIII Metal–Organic Framework MIL-53 Observed by Time-Resolved In Situ X-ray Diffraction, R.I. Walton, A.S. Munn, N. Guillou, F. Millange. Chemistry – A European Journal, 17 (2011) 7069-7079 http://onlinelibrary.wiley.com/doi/10.1002/chem.201003634/pdf

[4] DiffractWD: an open-source program for powder pattern comparison and visualization. V. Vreshch. Journal of Applied Crystallography, 44 (2011) 219-220 http://scripts.iucr.org/cgi-bin/paper?S0021889810044614

[3] A time-resolved diffraction study of a window of stability in the synthesis of a copper carboxylate metal-organic framework. F. Millange, R. El Osta, M.E. Medina, R.I. Walton. CrystEngComm, 13 (2011) 103-108 http://dx.doi.org/10.1039/C0CE00530D

[2] Selective Sorption of Organic Molecules by the Flexible Porous Hybrid Metal-Organic Framework MIL-53(Fe) Controlled by Various Host-Guest Interactions. Franck Millange, Nathalie Guillou, Manuela E. Medina, Gerard Ferey, Abel Carlin-Sinclair, Kathryn M. Golden, and Richard I. Walton. Chemistry of Materials 2010 22 (14), 4237-4245 http://pubs.acs.org/doi/abs/10.1021/cm1008587

[1] F. Millange, M.I. Medina, N. Guillou, G. Ferey, K.M. Golden, R.I. Walton, Time-Resolved In Situ Diffraction Study of the Solvothermal Crystallization of Some Prototypical Metal–Organic Frameworks. Angewandte Chemie International Edition, 49 (2010) 763-766 http://onlinelibrary.wiley.com/doi/10.1002/anie.200905627/pdf

Back to Top


Back to Top

For programmers

How to use the assembly with a .NET language? Start a new VB.NET (or C#) project with Visual Studio. Go to Project, Add Reference, Browse and select the powdll.dll file. Insert the reference to your application. Then declare an object:


How to use the assembly with a .NET language?
Start a new VB.NET (or C#) project with Visual Studio. Go to Project, Add Reference, Browse and select the powdll.dll file. Insert the reference to your application. Then declare an object:

Dim objec As New PowDLL.PowderFileTypes VB.NET
objec = new PowderFileTypes(); C#
  and use the public method DoFileConversion:
objec.DoFileConversion(filename_input, filename_output) VB.NET
objec.DoFileConversion(filename_input, filename_output); C#
  Moreover, because this method is of boolean data type a better approach might be:
If objec.DoFileConversion(filename_input, filename_output) = True Then
MsgBox("Conversion was successful!")
End If
 if (objec.DoFileConversion(filename_input, filename_output))
{MessageBox.Show("Conversion was successful!", MsgBoxStyle.OKOnly, null);}

That's all! Check public methods which are available to the programmer:

Back to Top





2.76 (08Aug18) Minor updates in RAW4 (again)
2.75 (05Jun18) Minor updates in RAW4
2.74 (17Apr18) Minor updates
2.73 (12Apr18) Better support for BRML files
2.72 (22Nov17) Fixed a bug with Panalytical raw files
Since PowDLL can read .raw files from all major vendors, the open raw dialog has been replaced by "multiple type RAW Files"
2.71 (29Oct17) Added tab for intensity conversion from counts to cps and vice versa
Fixed a bug when reading the output .raw (v4) procuded by EVA (Bruker)
2.70 (15Sep17) Fixed a bug with Rigaku RAW files
2.69 (24Aug17) Improved support for Rigaku RAW files
2.68 (19Aug17) Added support for JEOL .dat files
Improved support for UXD files
2.67 (29Jul17) Automatic save window settings on exit.
Instructions: Right click on PowDLL icon and select "Run as administrator". Upon closing the window, the settings (position, size, etc.) will be saved. Run PowDLL normally (no special user rights)
2.66 (20Jul17) Improved support for STOE RAW multi-pattern files
2.65 (26Jun17) Fixed an issue with Rigaku RAW
2.64 (09Jun17) UXD V3 files are now supported
2.63 (29May17) Minor fixes
2.62 (04Jan17) Added support for multi-range BRML files
2.61 (11Dec16) Improved support for PLV files
2.60 (04Nov16) Minor improvements
2.59 (03Nov16) Added support for multi-range Bruker RAW1 files.
2.58 (22Sep16) Fixed an issue with RAW4 files.
2.57 (14Sep16) Added support for Rigaku RAS files
Improved support (and fixed a bug) for PLV files
2.56 (25Jun16) Improved support for MDI files
2.55 (29Feb16) Added support for Bruker BRML files
Fixed a minor issue with uncommon display resolutions
(16Feb16) IMPORTANT! Rolled back to NSIS (Nullsoft Scriptable Install System) ver 2.5. Version 3.0b2 gives a false virus alarm with Microsoft Antivirus
2.54 (14Feb16) Improved the "single file" interface by adding support for syncing input/output folders
Added support for very long paths
2.53 (06Dec15) Added support for arbitrary wavelength selection in the "modify pattern" tab
"Ignore header lines" now also works for .XYE files (already worked for .XY files) under the "XY(E) files info" tab
Setup script (Nullsoft Scriptable Install System) was upgraded to version 3.0b2
2.52 (16Oct15) Fixed a minor bug when opening RAW format files created by CCDC Mercury software (i.e. theoretical powder patterns from single crystal studies).
(06Oct15) Improved the setup script. Now it is compatible with windows 10.
2.51 (18Sep15) Added support for reading date/time from XRDML files
Fixed a minor bug with STOE file format
2.50 (25Jun15) "An error occured" bug is now fixed! (fired only upon new program installation)
2.49 (04Jun15) Pattern preview is now wider and shows legend by default
2.48 (03Jun15) Fixed an issue with Bruker RAW (ver. 4) files
2.47 (23Feb15) Added support for multipattern Bruker RAW files (version 4). All the patterns that are included into a single RAW file can be now extracted to separate XY files
Fixed an issue with Bruker RAW (ver. 4) files
2.46 (29Jan15) Added support for changing the WL and the anode type. Use with caution! To note: (a) resolution may slightly deteriorate due to the spline interpolation (b) the pattern is converted using Ka1 (c) Resolution will be only virtually improved for shorter WLs
Added support for changing the start, stop and step (2-theta) using spline interpolation
Code improvements (speed)
Automatic WL selection (WL Tab)
The working (current) wavelength is now displayed on the main form
Default WL can be selected and saved for future reference (previously, the default setting was the WL of the Cu anode)
Fixed an issue with the default settings in the Prefix/Suffix (Prefix/Suffix Tab)
The output for some filetypes has been imrpoved regarding the significant digits
Fixed a minor issue with overwrite protection
Added support for opening Y-X input files (X: intensity, Y degrees)
2.45 (02Jan15) Minor
2.44 (06Dec14) Minor improvements in source code
2.43 (05Oct14) Added support for v2 UXD files
Parsing the date from RAW v1 files
Minor (24Sep14) The text in readme.txt was corrected to clarify that PowDLL (exe+dll) is free for academic or commercial use.
2.42 (14Mar14) Added support for multirange STOE raw files
2.41 (22Jan14) Added support for Prefix and/or Suffix to the destination filename(s)
Added a Progress Bar indicating time consuming operations
2.40 (12Jan14) Added support for StepTime values (xrdml, Bruker raw, uxd)
Fixed a bug in XRDML format resulting in data truncation
2.39 (06Jan14) Added support for goniometer radius values (xrdml, Bruker raw, uxd)
2.38 (19Dec13) Added support for UDF files (.nex). Please check the Copyright Notice and License Terms for Hierarchical Data Format (HDF) Software Library and Utilities
Added the option to "stay on top". Useful for multiple file conversion (drag'n'drop)
Minor bugs fixed
2.37 (12Nov13) Added the option to ignore n lines from the header of .XY files
2.36 (13Oct13) Fixed a bug with RAW file export (anode type and WL were sometimes not correlated correctly)
2.35 (14Aug13) Export support for XRDML format (1.3). Now XRDML files produced by PowDLL can be opened by X'Pert Data Viewer
2.34 (04Jul13) Better support for Bruker RAW4 files (fixed a serious bug)
2.33 (25May13) Added support for GSAS ESD files XYE files now supports 2 different formats: XYZ and Mercury XYE (these are almost indentical but Mercury adds a line on the top with the wavelength
Misc additions and corrections.
Code runs 2x faster with some formats
2.32 (09Feb13) Fixed a bug with Scintag RAW format
2.31 (04Jan13) Added export support for PLV files (Xpowder)
Added support for CIF files which are exported from ICDD PDF4+ database (2-theta vs. I, pairs)
Options menu now includes the capability of replacing zero counts with 0.001 counts from XYE and CIF input files (some programs crash with zero intensity values)
2.29 Added support for values with scientific notation (e.g., 1.2E+03) in input files
2.28 Added support for SCINTAG multi-range RAW files (DMSNT software)
2.27 Added INEL ASCII format (import only) in addition to INEL Binary format Fixed an error when converting multiple INEL Binary files to *.xy
2.26 Fixed an issue regarding scintag and vms raw files which stopped the procedure.
The solution is now generic meaning that all popup message boxes are now closing automatically after 10 secs (not applicable to overwrite protection by default; can be manipulated though from Menu "Options").
Fixed the "open containing folder" which shows the files folder after the successful conversion.
Exposed as public the "askforAlpha" property for 3rd party developers
2.24 Fixed a minor issue with Rigaku raw format
2.23 Fixed a minor issue with Raw format
2.22 Added import filter for CCDC Mercury XYE file format Added import filter for Philips SD (V5) file format
Fixed an issue with RAW v4.00 file format (still no support though for combined or multiple wavelength files)
2.21 Added support for RAW v4.00 file format (no support though for combined or multiple wavelength files)
Fixed a bug regarding XDD file format
2.20 Maintenance release
Previous versions
2.19-1.2 Obsolete

Back to Top

Get in touch

If you have any comment or suggestion please send an email. All requests are considered carefully and all comments are welcome.

Back to Top