General Questions
What are system and software requirements for NodeXL Pro?
NodeXL Pro requires:
OPERATING SYSTEM: Microsoft Windows ™(XP, Vista, 7, 8, 10)
SOFTWARE: Microsoft Office™ (2007, 2010, 2013, 2016)
64 bit versions of Windows and Office are recommended (32 bit systems cannot use large amounts of RAM).
RAM: More the better! 4GB is enough to handle very small networks, 8GB for medium networks, 16GB or 32GB is recommended for very large networks (100K edges and above).
CPU: Most computers are now fast enough to handle network calculations. That said, faster CPUs are good for improving NodeXL’s performance. However, currently NodeXL is a (mostly) single threaded application that does not make use of multiple cores.
What is the difference between NodeXL Basic and NodeXL Pro?
NodeXL Basic is free and open. It is positioned as a browser for files created with NodeXL Pro which offers advanced features for professional social network and content analysis.
For a detailed feature overview to compare NodeXL Basic and NodeXL Pro please follow this link.
Can I run NodeXL on a Mac?
NodeXL is Windows and Office only.
Mac users interested in NodeXL may use a Virtual Machine.
We recommend REMOTE virtual machines like those offered by Amazon.
Here is an article about creating a virtual machine in the Amazon Elastic Compute Cloud (EC2):
http://www.smrfoundation.org/2018/01/02/using-nodexl-in-the-cloud/
While it *is* possible to run a local VM on a MacBook, this is not a performant way to run the application (it can be slow!).
Further, a MacBook running Windows plus Office plus NodeXL should have no less than 16GB of RAM.
In contrast, the remote virtual machines may be accessed using the free “Remote Desktop” application from Microsoft (available for all Macs):
Remote VMs place almost zero resource demands on the client machine (the Mac) and do not require special amounts of RAM or features to perform well.
License
What are the differences between NodeXL Pro Commercial, Academic/Non-Profit and Student user licenses?
All NodeXL Pro licenses are for the same application, only the type of user (Student, Academic/Govt/Non-Profit, and Commercial) is different. The pricing structure reflects the ability of our users to pay for a license. Please select the license appropriate to you.
On how many machines can I run one license?
You may run NodeXL Pro on any number of machines, but only one at a time.
The NodeXL Pro License Key file we send to you must be placed on any machine you would like to use to run NodeXL Pro.
Place the NodeXL Pro License Key file anywhere on the target machine’s file system.
When NodeXL Pro opens, it will ask you to locate this License Key file. This will then authorize the use of NodeXL Pro on that machine.
When a machine is authorized for NodeXL Pro all other machines that are running NodeXL Pro are de-authorized. NodeXL Pro will not operate on these machines until one of them is re-authorized.
To re-authorize a machine, copy the ORIGINAL license file (the one attached to the license email) to the target machine. DO NOT use the license file from any other machine.
When a license file is authorized, the copy of the license file is imprinted with machine specific data that prevents it from running on any other machine.
Only the original license file can (re-)authorize a machine.
I ordered a NodeXL Pro license key but I did not receive an email with a license key. What should I do?
The original license key email is often sent within a minute of the order. If you do not receive a license key email promptly please check your “Spam” or “Junk” folders. You should also check to see the email address that you used to pay for your license key. In some cases the email associated with your payment is different from your main email address. If you cannot find the original license key in your emails, please send a short note to info@smrfoundation.org with the exact email address and the payment transaction ID used when purchasing the license.
I lost my license key. What should I do?
If you cannot find the original license key in your emails, please send a short note to info@smrfoundation.org with the exact email address you used when purchasing the license.
Importers
What are the limits of the Twitter data importers?
The use of NodeXL Pro Twitter data importers requires a twitter account. Before your first data import you need to authorize NodeXL by entering a token number which is automatically sent to you during the authorization process.
Moreover Twitter’s public free API has many limits. NodeXL Basic and Pro are both effected by these limits. Data is available only for 8-9 days. Queries cannot return more than 18,000 tweets.The follower network is further restricted: the rate at which queries about who follows who can be asked is low.
NodeXL Pro does not enable the collection of data beyond these limits. That said, NodeXL can process data from commercial data providers (like Crimson Hexagon or Radian6). While these are expensive options, they may be the only way to get historical data from Twitter.
Commercial services like Radian6 and Crimson Hexagon provide archival data – but not cheaply!
You may be able to get a little bit more data from the public Twitter API by using the SINCE: and UNTIL: operators – example:QUERYTERM since:2016-01-21 until:2016-01-27. Since: and Until: operators scope the time frame of the query.
Twitter controls its API and throttles it based on unknowable parameters. We notice that the more the volume of tweets == less tweets delivered. One alternative is to do day long slices and append them in order to maximize the data available from Twitter.
You may also be interested in th Connected Action Graph Server Importer which enables NodeXL to connect to the “STREAM” API from Twitter (which sometimes delivers larger volumes of data).
What are the limits of the Facebook data importers?
The only major limit of the public free Facebook is time. You can get as much historical data from fan pages and groups as you like, yet the network data download may take quite a while as the download stops and resumes.
Please note that the download of network data from large fan pages can easily max out your system memory if you do not limit the number of reactions, likes and shares when setting up the data importer.
What is a 3rd Party Data Importer?
NodeXL Pro allows for 3rd party developers to create data importers that can integrate into the NodeXL Pro > Data > Data Import menu. In that menu you will also find a list of links to 3rd party importers currently available.
What are the limits of the Flicker data importer?
Flickr limits access to their API on a per key basis. You should stay under 3,600 queries per hour or Flickr may block or terminate your access.
How can I Merge Workbooks?

You may also be interested in this: http://graphserverimporter.codeplex.com which enables NodeXL to accumulate data from the Twitter API over time.
- NodeXL uses “Named Ranges” for all of the tables and worksheets. Pasting new data in the first blank row may not extend the named range for edges, or it may break the existing named range.
- Pasting data from multiple Edges worksheets can create duplicate Edges
- Pasting data from multiple Vertices worksheets can create duplicate vertices – which NodeXL does not like : -(
Error Messages
"Invalid License" - What should I do?
This issue can be resolved by copying the original key attached to the delivery email back onto the target system. On some systems files can be set to be read only by default. If this happens, NodeXL Pro can then not update (and validate) its license key. To resolve the issue, find the location of the “.LIC” file we sent to you. This is the original license key file sent as an attachment to an email. Save this file to the location of the current license key file (you may have created a folder for this or left it in downloads or the desktop). When you locate the NodeXL Pro License key file (“licensePro_#.lic”) in the file browser, right-click it and select Properties. Then uncheck “Read-Only”. This should then allow NodeXL Pro to read and update the license key.
If you cannot resolve this issue please send an email to info@smrfoundation.org and we will help you as soon as possible.
"OutOfMemoryException" - What does that mean?
If this message shows up, you have reached the limits of your machine. Please take a look at the system requirements above.
"Object reference not set to an instance of an object" - What does that mean?
Issue: NodeXL Crashes and displays “Object reference not set to an instance of an object”
Restart NodeXL Pro. It will ask for the location of the NodeXL Pro License Key. Once that is provided, it should work properly.
There are several other possible solutions to this problem. If these steps do not resolve the issue, please install TeamViewer and send a message with the Team Viewer ID and PW to info@smrfoundation.org and we will fix the problem as soon as possible.
When installing NodeXL Pro I get "The value of the property 'type" cannot be parsed." - What does that mean?
Issue: NodeXL will not install and displays:
The value of the property ‘type” cannot be parsed. The error is: Could not load file or assembly “Microsoft.Offfice.Business.Applications.Fba.Version=14.0.0.0
To resolve this issue Right-Click the NodeXL Pro installation file and select “Run as Administrator”
There are several other possible solutions to this problem. If these steps do not resolve the issue, please install TeamViewer and send a message with the Team Viewer ID and PW to info@smrfoundation.org and we will fix the problem as soon as possible.
Research
How do I cite NodeXL in my research publication?
To cite NodeXL in your papers please use the following:
Smith, M., Ceni A., Milic-Frayling, N., Shneiderman, B., Mendes Rodrigues, E., Leskovec, J., Dunne, C., (2010). NodeXL: a free and open network overview, discovery and exploration add-in for Excel 2007/2010/2013/2016, from the Social Media Research Foundation: https://www.smrfoundation.org
What do all of the Overall Graph Metrics mean?
Vertices
A vertex is an element of a network.
The vertices count is the number of people or things in the network.
Unique Edges
An edge is a connection between two vertices.
The “unique” edges is the number of connections where multiple connections between A and B are counted only once.
Edges With Duplicates
An edge is a connection between two vertices.
The “duplicate” edges count is the total number of multiple connections between two vertices.
Total Edges
An edge is a connection between two vertices.
The “total” edges count is the total number of connections where multiple connections between A and B are all counted.
Self-Loops
An edge that starts and ends in the same vertex is a self loop.
Reciprocated Vertex Pair Ratio
When two vertices both link to each other their connection is “reciprocated”.
This is the percentage of vertices that have a reciprocal relationship.
Reciprocated Edge Ratio
When an edge from A to B is joined by another edge from B to A then their connection is “reciprocated”.
This is the percentage of edges that have a reciprocal relationship.
Connected Components
A group of vertices that are all connected is a component.
This is the number of separate sets of connected vertices.
Single-Vertex Connected Components
A vertex that has zero connections is “isolated” or an “island”.
This is the count of vertices that have zero connections.
Maximum Vertices in a Connected Component
A connected component is composed of a number of vertices.
This is the count of vertices in the largest connected component.
Maximum Edges in a Connected Component
A connected component is composed of a number of edges.
This is the count of total edges in the largest connected component.
Maximum Geodesic Distance (Diameter)
A geodesic is a chain or path composed of edges that link two vertices, potentially through intermediate vertices.
A “shortest path” is the minimum number of connections needed to link two vertices.
The “longest” “shortest path” is the “maximum geodesic distance”.
Average Geodesic Distance
A geodesic is a chain or path composed of edges that link two vertices, potentially through intermediate vertices.
The average length of these paths is the “average geodesic distance”.
Graph Density
Density is the measure of the number edges among a group of vertices over the total possible number if everyone was connected to everyone.
A high graph density means that most people are connected to many others. A low graph density means that most people are not connected to many others.
Modularity
Modularity is a measure of the fitness of the groups that are created in a clustered network.
A group is a set of vertices.
Many group cluster algorithms are intended to find sets of vertices that are strongly connected and relatively separate from other strongly connected groups.
Modularity is the measure of the number of edges that leave a group to connect to vertices in a different group.
If modularity is high, the clusters or groups created may be of low quality. If modularity is low, the groups are well defined.
NodeXL Version
NodeXL updates frequently and the current version number is provided to enable troubleshooting and to ensure older datasets are properly understood.
Data Handling
How large a network can NodeXL handle?
NodeXL can manage different numbers of edges based on the available computer system resources. The following are rough estimates:
- 4 GB of RAM: SMALL networks only less than a few thousand edges
- 8 GB of RAM: MEDIUM networks of less than 10-15 thousand edges
- 16GB of RAM: LARGE networks of less than 80-100 thousand edges
- 32 GB of RAM: VERY LARGE networks of less than 200 thousand edges
How to deal with a VERY LARGE NETWORK?
- In many networks it can be possible to count and then remove all “isolate” vertices (nodes with zero connections).
- All “singleton” or “pendant” vertices can also be counted and removed (these are vertices with just one connection to the network).
- All duplicated edges can be removed. Optionally, duplicate edges can be counted and removed and the count added to the remaining edge as a weight representing the number of removed edges.

How are Self-Loops managed in NodeXL?
=IF([@[Vertex 1]]=[@[Vertex 2]],0,1)