Gwyddion – Free SPM (AFM, SNOM/NSOM, STM, MFM, …) data analysis software


Gwyddion is a modular program for SPM (scanning probe microscopy) data visualization and analysis. Primarily it is intended for the analysis of height fields obtained by scanning probe microscopy techniques (AFM, MFM, STM, SNOM/NSOM) and it supports a lot of SPM data formats. However, it can be used for general height field and (greyscale) image processing, for instance for the analysis of profilometry data or thickness maps from imaging spectrophotometry.

Gwyddion provides a large number of data processing functions, including all the standard statistical characterization, levelling and data correction, filtering or grain marking functions. And since the developers are active SPM users, the program also contains a number of specific, uncommon, odd and experimental data processing methods they found useful – and you may find them useful too.

Gwyddion is Free and Open Source software, covered by GNU General Public License. It aims to provide a modular program for 2D data processing and analysis that can be easily extended by third-party modules and scripts. Moreover, thanks to being free software, it provides the source code to developers and users, which makes easier both verification of its data processing algorithms and further program improvements.

Gwyddion works on GNU/Linux, Microsoft Windows and Mac OS X operating systems on common architectures. All systems can be used also for development. It has a modern graphical user interface based on the widely portable Gtk+ toolkit, consistent across all the supported systems.


Current versions

2023-08-01: We are happy to announce the publication of a Hardware X paper Scanning Probe Microscopy controller with advanced sampling support which gives an overview of Gwyscope. It is a low-cost open DSP controller for SPM focusing on demonstrating adaptive scanning, general XYZ data acquisition and statistical data processing at the controller level. More information about Gwyscope can be found at the project's website

2023-06-13: Version 2.63 “Voluntarily Volatile” was released. Beside the usual file format support and other improvements it brings mainly a bunch of new volume data processing modules. And more are to come. See the detailed news for the complete list of changes.

2023-04-24: Version 1.6 of libgwyfile was released. It fixed a bug in handling of "segments" item in GwyLawn.

2023-03-08: We are happy to announce the publication of a Measurement Science and Technology paper Demystifying data evaluation in the measurement of periodic structures which revisits data evaluation methods for the measurement of period/pitch of periodic structures such as gratings. A 1D grating evaluation module based on this work is under development and present in recent nightly builds.

2023-01-03: Updated gwydump MS Windows executables were published, replacing the ancient ones no longer working with the libraries packaged with Gwyddion. Both 32bit and 64bit executables are now available.


2022-11-03: Version 2.62 “Getting there” was released. It is mainly continues with module code clean-up, but brings also a number of file format support and other improvements and bugfixes, as well as a couple of new curve map modules. See the detailed news for the complete list of changes.

2022-09-15: The size of equations in the user guide was corrected and they should again display reasonably sized instead of tiny.

2022-05-13: A new version of the sample standalone module was released: threshold-example-2.6. It was rewritten to use GwyParams for parameter handling. It now requires Gwyddion 2.59, but it is a lot shorter and contains basically no explicit GTK+ code. The comments were also improved. It should be a better base for writing a Gwyddion module if compatibility with older versions is not required.

2022-05-02: Version 2.61 “Fermentation” was released. It is mainly a bugfix release, with a number of smaller improvements and corrections of problems which appeared in the two previous versions. See the detailed news for the complete list of changes.

2022-03-02: The Gwyddion project received the SourceForge ‘Open Source Excellence’ award.

2022-02-11: Version 1.5 of libgwyfile was released. The library was updated to support data types added to Gwyddion in the last couple of years.


2021-11-12: Version 2.60 “Lawnmower League” was released. It brings a new data type, curve maps, which are sets of curves defined in each image pixel. There are also a bunch of new graph modules and the usual file format improvements. See the detailed news for the complete list of changes.

2021-07-23: Along with data analysis, Gwyddion also offers a number of modules for generation of artificial SPM data (and patterns in general, see GIMP plug-in replacements). If you want to know how artificial data can be used in SPM, you can read our recent review in which we summarised the methods and applications.

2021-06-28: Version 2.59 “Definition Diet” was released. The biggest change was invisible, a major cleanup of module parameter handling. However, it was accompanied with many small improvements in dozens of modules. See the detailed news for the complete list of changes.

2021-02-14: We switched TeX equations in the on-line user guide from PNG to SVG. They now look cleaner, scale nicely with the page, etc. All non-ancient web browsers should have reasonable SVG support – but please report if equations do not display correctly for you.

2021-02-09: Version 2.58 “Plainly Planar” was released. It mainly fixes masked plane levelling, broken in 2.57. However, it includes a few other improvements, for instance in Renishaw support, a new perspective correction function and a new Japanese translation. See the detailed news for the full list of changes.


2020-12-28: Version 2.57 “Professing Profiles” was released. Again, there are a bunch of improvements in file format support, but also new profile extraction and comparison functions, data classification using neural networks and more. See the detailed news for the full list of changes.

2020-09-17: Several new functions added to Gwyddion in the last two releases implement ideas described in our recent papers. Image terrace fitting and Graph terrace fitting implement algorithms described in the Si step evaluation paper. The new Correlation length tool was a repeatedly requested feature. However, it also helps with checking if image dimensions are sufficiently larger than the autocorrelation length for roughness measurement – as discussed in a couple of papers, one more technical and one more high-level.

2020-07-29: To get working Gwyddion packages in Ubuntu you can use the Gwyddion-SPM PPA instead of the broken distro packages (bug 1882441). The PPA also provides more current versions of Gwyddion.

2020-07-12: Gwyddion package in Ubuntu 20.04 (possibly other versions?) is broken, failing to load any modules at startup due to linking issue. See bug 1882441 in Launchpad. At present there is no known workaround aside for compilation from source code (as dscribed in the bug report).

2020-06-30: Version 2.56 “Semiscale” was released. The main improvements are in file format support, but there is also a new tool for autocorrelation length estimation and the usual bunch of bugfixes and smaller improvements. See the detailed news which contain the complete list of changes.

2020-06-08: Version 1.4 of libgwyfile was released. This is mainly a bugfix release, which also adds a couple of functions for object and item copying.

2020-06-02: Version 1.3 of libgwyfile was released. The main addition is an interface for GWY files in memory buffers. The library was also updated to handle new data types introduced in Gwyddion 2.53.


2019-11-04: Version 2.55 “Zzz…” was released. It is mainly a bugfix release bringing back ZIP support in file import modules. However, there are also a few new volume data modules or a number of file format support improvements. See the detailed news for the complete list.

2019-09-22: Version 2.54 was, unfortunately, relased without ZIP support, meaning that a bunch of file formats cannot be loaded: APE DAX, OpenGPS, JPK force data, NanoObserver, NanoScanTech, Olympus POIR, Sensofar PLUx and SPMx. This affects not just MS Windows executables, but ZIP support is silently disabled also when you compile from source code. We will be releasing 2.55 in several weeks with a fix. Please use version 2.53 or development snapshots meanwhile if you need to read some of the affected file formats.

2019-09-04: Version 2.54 added two synthetic data modules, one directly inspired by an old Yeti's GIMP plug-in. We updated the replacement information to illustrate all the recently added data generators.

2019-08-27: Version 2.54 “A Small Step” was released. It fixes a large number of bugs, but also brings a dozen new modules – data process, file, graph – and various smaller improvements. See the detailed news for the complete list.

2019-06-05: Gwyddion is now available as Flatpak app, a cross-distro way of installing stable bundled applications. See the download page for more. In related news, the Fedora 30 repository should be finally working.

2019-05-09: We added a paper describing some recently added MFM data processing methods to the publication list.

2019-03-06: A patch for version 2.53 was published, fixing Gwyddion being unable to find icons and similar data on a Mac. See also Patches.

2019-02-28: A patch for version 2.53 was published, fixing a compilation error with GCC 9. It breaks compilation with other GCC versions, so only apply it when necessary. See also Patches.

2019-02-28: Version 2.53 “OMGOMP” was released. It adds OpenMP parallelisation for a bunch of data processing operations. There are also improvements in basic tools, a few new modules and some bug fixes as usual. See the detailed news for the complete list.



Gwyddion development is supported by Department of Nanometrology, Czech Metrology Institute.

1.87 (yeti, 2021-11-12 16:22:59)
© David Nečas and Petr Klapetek

Home Download News Features Screenshots Documentation Communicate Participate Resources Publications Applications Site Map

Valid XHTML 1.0 Valid CSS