Installation notes

  1. You need a (free) serial number to run sDNA.  You can get your serial number here
  2. sDNA+ is the same download; but to unlock sDNA+ features you need an sDNA+ serial number.  If you wish to obtain one please get in touch with us.
  3. Run the downloaded file sDNA_setup_win.msi
  4. If you have Symantec antivirus it may reports a threat of WS.Reputation.1.  Note this is not a virus – it merely indicates sDNA does not show up as a mainstream product on Symantec’s database.
  5. Some systems will fail installation with “the system cannot open the device or file specified” unless you install as administrator.
  6. Certain systems are known to report .net errors when running sDNA License Manager; these can safely be ignored (click ‘continue’). If sDNA is failing to authorize, try running the license manager as administrator and authorizing again.
  7. If using ArcGIS, QGIS or Autocad, you will need to manually add the sDNA toolbox.  Either way,  check your start menu for more documentation!

Click here to go to the download page

Change log

3rd February 2021: Version 4.1.0

  • Adds compatibility with ArcGIS Professional
  • Adds compatibility with QGIS 3 (requires sDNA QGIS 3 Plugin to link – coming soon).
  • Diversion ratio and Absolute Diversion now computed for individual links in destination maps
  • Better detection of null input values
  • Improved sDNA Learn’s cross-validated r2 calculation for single_best_variable mode. Previously, a mean r2 was taken which discarded absolute errors in prediction. Now we take a mean absolute error first then calculate r2 from it.
  • Fixed bug which caused sDNA Learn to fail on some installations (missing optparse library)

18th September 2019: Version 4.0.3

Minor update due to Cardiff University moving our license server.

Fixed bugs in GEH output, and origin handling when using intermediate link filter.

31st May 2019: Version 4.0.2

Lots of features moved from sDNA+ to sDNA, following release of the open source sDNA Open!

  • Outputs
    • Skim matrix
    • Geodesics
    • Hulls
    • Network radius
    • Destination maps
    • Bidirectional betweenness
    • Flow bundles (use intermediate link filter for these)
  • Other features
    • Origin Destination (OD) matrix input
    • Banded radii – useful for multivariate analysis with a little less collinearity
    • One way links
    • Custom spatial tolerances
    • sDNA prepare preserving data
    • Selected origin/destination and skip functions
    • Link disabling functions
    • Advanced problem route handling
    • Oversampling

Hybrid metrics and Hybrid radius remain exclusive to sDNA+.

9th May 2019: Version 4.0.1

  • Added safedivide() function in hybrid expressions, to help when distributing zonal weights over links.
  • Fixed bug where sDNA Predict could not read model files written with sDNA versions before 3.4.7.
  • Fixed bugs in 4.0.0 beta version including corrections to manual

23rd April 2019: Version 4.0.0 (beta)

Major update! sDNA version 4 includes:

  • ability to use zonal weighting schemes, read in from csv files containing zone data
  • ability to use custom expressions for origin and destination weights
  • ability to distribute zonal weights over links within each zone – using e.g. length or land use to control the distribution – using custom expressions
  • access to Link Fraction in custom expressions and hybrid formulae

See the manual for details; tutorial to follow.

18th December 2018: Version 3.4.7

  • sDNA Learn now outputs standardized coefficients as well as unstandardized
  • Increase security of connection to license server
  • Fix crash when outputting certain networks in QGIS

20th October 2017: Version 3.4.6

  • sDNA Learn now allows manual choice of regularization lambda, and outputs regularization curve alongside model to help with ridge regression. Invalid in-sample r2 statistic is removed
  • New Euclidean_Angular metric equates one unit of distance with one degree of angular change (sDNA). Pedestrian metric now allows randomization using linerand and juncrand keywords (sDNA+).
  • Network radii can now be run without betweenness
  • Added output chunking to support large outputs
  • Fix several crashes that occurred loading/saving data
  • Updated licenses to include sDNA+
  • Fix bug where license manager would report “response code fine but authorization failed” when response code was in fact wrong

16th August 2016: Version 3.4.5

First stable release of sDNA version 3.
Your previous serial number will work but must be deregistered from sDNA version 2 before uninstalling the old version.  If you forgot to do that, just request a replacement serial by entering your email address (no other details needed).

Changes since 3.4.beta-2:

  • Fix bug that caused unlocking to fail on certain enterprise platforms
  • Fix bug that caused sDNA Integral to write output even if calculation aborts due to errors
  • Fix minor errors in documentation
  • For full changes since sDNA version 2.3, see the beta history below.

3rd June 2016: Version 3.4.beta-2

Updated manual to reflect changes in cycle modelling achievable with CYCLE_ROUNDTRIP and Hybrid Radius.
Improved error handling in sDNA License Manager.

18th May 2016: Version 3.4.beta-1

Feature enhancements:

  • sDNA Learn now outputs residuals
  • sDNA Learn standardizes predictor variables to improve regularized regression

Bug fixes:

  • Fixed bug where OD matrix input could cause sDNA Integral to stop running
  • Fixed bug where sDNA Learn could fail when run from QGIS or Arc Background Processing
  • Default slope avoidance parameter for cycle metric changed to 2 – the original default was derived from a faulty test

25th April 2016: Version 3.3 alpha 2

sDNA3 goes public, with tonnes of enhancements best described by this blog post!  As of now the software is considered beta-stable (subsequent versions will be labelled beta).  Look in the experimental subdirectory of the downloads folder above to find the latest version.


11th March 2015:  Version 2.3

Added oversampling feature, useful for combining multiple analyses of hybrid metrics with a random component (such as for analysis of regular grids).


16th December 2014: Version 2.2.1

Same software as before, but our lawyers have now confirmed that you (the users) are free to use it commercially so the license terms have been updated.

28th November 2014:  Version 2.2

This marks sDNA+ officially moving out of beta, and the merging of the sDNA/sDNA+ development branches.  This means:

  • sDNA users now get network analysis in 3d
  • sDNA+ users get all the sDNA+ features
  • The license terms and conditions have changed (but don’t worry, sDNA remains free)
  • The keywords used to control the software have changed in some cases.  Either have a glance down the beta history below, or see the updated documentation for details.

Also a few changes for those used to 2.1.beta-6:

  • “TPDestination Ang”, “TPDestination Euc” and “TPDestination Cust” now all renamed to “TPDestination” because the analysis type doesn’t make much difference to this metric (except inasmuch as link centres are moved)
  • Fixed bug where hybrid analysis reading custom data field would produce wrong results on parallel architecture
  • Fixed bug where sDNA would fail if there was a space in the python path
  • Other minor bugfixes and documentation updates


13th June 2014: Version 2.1.beta-6

New features

  • sDNA+ Random (normal/uniform) and truncate functions for hybrid metrics – see details in sDNA Advanced Config
  • sDNA+ Prepare can now preserve numeric data (by link or length) – see details in sDNA Advanced Config
  • Advanced config can now be given to sDNA Prepare in ArcGIS
  • sDNA in ArcGIS can override default xy and z tolerance (sDNA+ needed for z tolerance)
  • Updated documentation

Bug fixes

  • Fixed crash caused by hybrid metrics where the user’s formula returns negative values
  • Added more helpful error message when sDNA encounters null data
Two behaviour changes for the sDNA command line scripts, to maintain consistency with the sDNA ArcGIS plugin:
  • Tolerance is now specified using the xytol and ztol keywords in advanced config, not through the –tolerance argument.
  • The –arc-xy-tolerance-problems option on sDNA Prepare has been renamed to –near-miss


21st March 2014: Version 2.1.beta-5

Fixed bug where ArcGIS tools would fail on data with spatial reference specified but z-tolerance unspecified (i.e. usually 2d data).


6th February 2014: Version 2.1.beta-3

New features

  • sDNA+ one-way link support.  See documentation in sDNA Advanced Config (and some minor changes to the spec in sDNA Detailed Measure Descriptions).
  • sDNA+ bidirectional betweenness output (enable using config keyword bidir).
  • sDNA+ Hybrid link metric outputs can now process bad formula output if sdna is running in linkonly mode, to assist user debugging of hybrid metrics.

Bug fixes

  • Fixed bug in asymmetric o/d weighting where each origin as a destination would be weighted as an origin (i.e. wrongly)

Changes in behaviour

  • Split links are now no longer counted as junctions
  • Connectivity output can now be fractional, as one-way links are counted as 0.5 when measuring connectivity in radius (though not LConn)


31st January 2014: Version 2.1.beta-2

A major update for sDNA+ introducing a new metric type “HYBRID”, which allows you to enter arbitrary algebraic expressions for the analysis metric.

All documentation is in sDNA Advanced Config pdf (installed to your start menu).


15th January 2014: Version 2.1.beta-1

sDNA (yes – plain sDNA as well as sDNA+) now supports fully 3D networks in ArcGIS and shapefiles (not Autocad).  Just provide your network in 3d polylines.

Advanced config has a new keyword “ztol” for setting user z tolerance (sDNA+ only).  If this is not set, or in sDNA, z tolerance is taken from the z tolerance of the input feature class (zero for shapefiles).

I have bumped the version to 2.1 as this is the beginning of a brand new feature set.  The core algorithms are fully tested but the data i/o may be less stable than 2.0.beta-7.


18th December 2013:  Version 2.0.beta-7

  • Changed handling of NULL values in shapefiles to match ESRI standard
  • sDNA Integral now prints bitness of process to help check configuration on large memory systems
  • Integral does more checks for incompatible options

26th November 2013:  Version 2.0.beta-6


  • sDNA+ origweight and destweight keywords (allowing separate origin and destination weights)
  • Added traffic island fixing for networks besides ITN
  • Added skiporiginifzero option to allow partial sampling of closeness/betweenness calculations
  • Added sDNA standalone interface from sDNA 1.12
  • Added sDNA Python API
  • Improved Autocad sdnacolour key display
  • Improved Autocad sDNA message display
  • Improved autoselection of data fields in arc tools

29th July 2013: Version 2.0.beta-4


  • sDNA+ geometry output facilities (geodesics, destinations, network radii and convex hulls).  Combined with the advanced config option origins this provides a rough implementation of the proposed sDNA Discrete tool.  For example, to see geodesics from link 13 to 42 and 43, add “outputgeodesics;origins=13;destinations=42,43″ to the advanced config  (see docs for more details).  A more polished interface will follow when there is time to create it.
  • Prepare now allows user selection of the field used to identify traffic islands.
  • Added ITN import utility for ArcGIS.

For command line use, various options have changed, in particular specification of data fields (start/end elevation, weight, custom metric) and weighting type.  Again, see advanced config docs for details.


13th June 2013: Version 2.0.beta-3

  • New functionality
    • sDNA+ “probroutes” advanced option to display problem route metrics
    • sDNA+ “strictnetworkcut” advanced option to change network cutting method
    • sDNA+ “probrouteaction” advanced option to change handling of problem routes
    • sDNA+ “skipfraction” option to skip a proportion of origins in Integral (effectively a partial sampling)
    • Documented all sDNA advanced config options – see docs on start menu
    • Improved out-of-memory error detection
    • Improved efficiency of handling zero weight geodesics – should make calculations much faster when most weights are zero
  • Behaviour changes
    • Renamed CFD (crow flight distance) to SCF (sum of crow flight) to bring it into line with naming of other sum measures (SGLA, SAD etc)
    • Added MCF (mean crow flight distance)
    • Output measures that are sums are now disabled by default to save clutter.  Enable them with “outputsums” in advanced config.
  • Bug fixes
    • Fixed bug that prevented detection (not fixing) of tolerance problems in sDNA Prepare
    • Fixed bug that caused CPU underutilization in sDNA Integral Continuous Space analysis


7th May 2013: Version 2.0.beta-1

Added two new tools

  • sDNA+ ArcGIS Match Symbology Ranges is for postprocessing sDNA results by matching symbology quantiles over several layers together.  Useful for displaying alternative designs on the same scale.
  • Autocad sDNA+ now has a tool “Convert Unlinks” for importing line drawings (where intersection means connection) into sDNA format.  Similar to Planarize in ArcGIS.


3rd December 2013:  Version 1.13.4

Changed handling of NULL values in shapefiles to match ESRI standard.

Fixed bug that prevented use of sDNA Integral for some users.


2nd December 2013:  Version 1.13.3

Fixed bug that prevented use of sDNA in ArcGIS 10.0 only.


25th November 2013:  Version 1.13.2

Released sdnapy, the Python API to sDNA.  If you are interested in using this check out the demo code.


19th November 2013:  Version 1.13.1

Fixed bug that prevented writing of shapefiles with no data from the command line.


15th November 2013:  Version 1.13


  • We have now recombined the three versions of sDNA (ArcGIS/Autocad and standalone)
  • sDNA now allows detection and repair of traffic islands on networks other than ITN
  • Keys produced by sDNAColour in Autocad are now easier to read

Changes in behaviour

  • We have standardised on a different network format to allow repair of traffic islands on network formats besides ITN. Rather than using elevation fields from the ITN standard, we now recommend the following
    • startelev – link start elevation (in ITN this was DirectedNode_NegativeOrientation_GradeSeparation)
    • endelev – link end elevation (in ITN this was DirectedNode_PositiveOrientation_GradeSeparation)
    • island – set to any number other than 0 if this is a traffic island (this corresponds to ITN NatureOfRoad, but is a numeric field not text)
  • For ArcGIS users, we have added an ITN import script that converts ITN networks into this format.  ArcGIS sDNA tools still allow use of other field names, though will automatically select startelev, endelev and island if they are present.
  • For command line users: the syntax has changed slightly. Field names are now given in the sDNA configuration string rather than as command line options.


  • Added more helpful error messages to Autocad if sDNA DLLs not found


13th June 2013:  Version 1.12

  • Added a basic user interface for processing shapefiles with sDNA standalone.  Look on your start menu!
  • Added support for fixing tolerance problems in sDNA Prepare outside of ArcGIS
  • Fixed bug that prevented detection (though not fixing) of tolerance problems in sDNA Prepare
  • Fixed bug that caused CPU under-utilization on multicore machines during continuous space analysis in sDNA Integral


28th May 2013:  Version 1.11

Shapefile-only sDNA (was released during license negotitaitons, now defunct).


24th April 2013:  Version 1.10.1 beta

Version 1.10 brings long-awaited 64 bit support, and hence compatibility with Autocad on 64-bit platforms, 64-bit Python and the optional 64-bit background processing in ArcGIS 10.1 onwards.

Also fixed a bug that caused sDNA to falsely detect a changed hardware fingerprint, and hence invalid license, on one machine once.


8th April 2013:  Version 1.9

Version 1.9 includes the Friendly Introduction to sDNA Outputs (look on your start menu).

Also fixed a bug that could result in usernames with non-English characters failing to unlock correctly, and improved diagnostics for the Autocad interface.


7th March 2013: Version 1.8.2

  • Added “Detailed measure descriptions” document to sDNA start menu group.  This is the full mathematical spec – more friendly user manual planned for later this year
  • Added ArcGIS and standalone progress indicator when writing network after sDNA prepare operations
  • sDNA command line interface now produces more useful error messages if gdb paths not found
  • Enabled Large Address Awareness meaning sDNA running on 64 bit systems can address up to 4GB memory.  Note that this is still not full 64 bit support (see note on software page for details)
  • Fixed bug where sDNA prepare could in theory corrupt object IDs when fixing tolerance issues on large networks (> 100,000 links)

Still leaving 1.8.1 available for download in case you have any problems.


25th February 2013: Version 1.8.1

Fixed bug that caused loss of precision for convex hull measures on large networks


22nd February 2013: Version 1.8

The long awaited 1.8 brings…

  • sDNA Shapefile interface:  new standalone sDNA tools that do not require a host GIS/CAD program (though of course you will need some way to read/write Shapefiles; we recommend the free QGIS).  Currently command line only – see “How to use” document on the sDNA Start Menu group for details
  • Improved scripting interface for running sDNA on geodatabases (requires ArcGIS)
  • sDNA Prepare for ArcGIS now outputs errors to a new feature class, replacing the old “stop and select” mechanism
  • sDNA Colour for Autocad now loads much faster, and preserves descriptive variable names between sessions


  • Fixed crash that occurred when sDNA Prepare tried to fix XYTolerance problems on a zero length link
  • Fixed rare crash that occurred when running sDNA Prepare on isolated traffic islands connected in a loop
  • Fixed crash that occurred when running sDNA Integral on a zero length link and a disconnected system at the same time


5th December 2012: Version 1.7

Fixed a rare crash that occurred when the radius cut the network exactly on a junction


5th November 2012: Version 1.6

  • sDNA Prepare in ArcGIS now checks for edge endpoints closer than Arc cluster tolerance (these do not display correctly in Arc and can cause spatial model errors)
  • Link Angular Cost is now known as Link Angular Curvature


26th September 2012: Version 1.5.1


  • Fixed a bug whereby sDNA would try to process inappropriate input data in ArcGIS rather than reject it
  • Fixed a bug whereby sDNA Prepare would in some circumstances treat very small links as duplicates

Further rationalization of output naming scheme, which now refers only to network characteristics and not their application:

  • “Angular Cost” is now called “Angular Dist (AngD)”
  • “Accessibility” is now “NetQuantPD” (Network Quantity Penalized by Distance)
  • “Popularity” is now “TPDestination” (Two phase destination)

This is to match the upcoming manual which will explain these terms in detail.


10th September 2012: Version 1.5


  • New measures!
    • Mean geodesic length
    • Convex hull shape index
    • Individual link length (for Autocad – already present in Arc)
  • More consistent naming scheme!
    • Metric analysis is now referred to as Euclidean analysis
  • Better colours!
    • sDNA standard colour scheme added to sdnacolour


  • Fixed bug whereby some measures could be computed incorrectly if custom weighting was used.  The affected measures were Mean Angular Distance, Mean Euclidean Distance ( – which was called Mean Metric Distance in the old naming scheme – ) and Mean Custom Distance.


28th August 2012: Version “Root 2″ (1.4.1)

Changed gradient generation in sDNAcolour to increase contrast and emphasize midtones


23rd August 2012: Version 1.4


  • sDNAcolour now defaults to HSV colourscheme


  • Fixed bug whereby sDNAcolour would compute incorrect quantile values for networks larger than 1000 links
  • Fixed bug whereby gradient type was not preserved between runs of sDNAcolour


12th July 2012: Version 1.3 beta2

Should fix an install problem some people are experiencing with 1.3 beta.


12th July 2012: Version 1.3 beta


  • Windows 7 support.  Note that although both 32- and 64-bit versions of Windows 7 are supported, a 32-bit host application is needed.  This means either ArcGIS or Autocad 32-bit; not Autocad 64-bit.
  • sDNAcolour now allows selecting control measures for output


4th July 2012: Version 1.2.1

Mini-release with support for extended serial numbers.


3rd July 2012: Version 1.2


  • Added support for Autocad 2010, 2011 and 2013
  • Improved user interface for Autocad sDNA Integral
  • Improvements to Autocad sDNA Colour:
    • 3-colour gradient support
    • sDNAcolour changes drawing order to put higher values on top
    • sDNAcolour remembers previous configuration when launched
    • sDNAcolour now displays all variable names, not just those present on all selected objects.  Warning produced if some objects didn’t contain the selected variable.
  • Improvements to sDNA Integral (ArcGIS and Autocad):
    • Changed default analysis type to non length weighted
    • Clarified output names:  removed SAD Cl, SAD Wl Cl, SAD Cn, SAD Wl Cn etc.  Replaced with Mean Dist and Mean Dist Wl as appropriate.
    • Added advanced config system
    • Implemented option to switch off some calculations for extra speed
    • Implemented option to force continuous treatment of origin link in discrete analysis
    • Implemented option to add prefix/suffix to names of sDNA outputs
  • sDNA installer now shows version number in filename


  • Fixed bug that caused sDNA Integral progress bar to sometimes behave erratically
  • Fixed bug that sometimes caused sDNA Prepare to fail to fix all split links
  • Fixed crash that occurred when sDNAcolour encountered network with all data the same


19th June 2012: Version 1.1


  • sDNAcolour for Autocad now supports HSL gradients
  • Added 2-phase betweenness measure
  • Added 2-phase destination popularity measure


  • Fixed minor inaccuracy in Betweenness relating to origin’s contribution to its own betweenness

7th June 2012:  Version 1.0

sDNA 1.0 released.