23 Free Social Network Analysis Tools [As of 2021]

Social network analysis tools make it easier to carry out qualitative or quantitative analysis of social networking platforms. They describe the network’s attributes and workflows via visual or numerical representation.

These tools generally use network or graph theory to examine social structures. The main components are nodes (people) and the edges that connect them. Some of them perform predictive analysis too.

Below, we have listed some of the most effective social network analysis software programs that are available for free.

18. AllegroGraph

Best for: Extracting insights from highly complex data via Knowledge Graph building solutions

AllegroGraph is a graph database developed to store RDF (Resource Description Framework) triples. It is a fully transactional OLTP database that stores data structured in graphs rather than in tables. 

Key Features 

  • Large-scale mixed data processing
  • Semantic entity-event data modeling
  • JavaScript-based interface for general graph traversal

Unlike conventional relational databases or simple property graph databases, AllegroGraph implements a combination of document and graph technologies such as SON, JSON-LD, RDF, OWL to process data with contextual and conceptual intelligence.

17. Commetrix

Best for: Analyzing dynamic network change and lifecycles

Commetrix is a dynamic network visualization and analysis software that provides easy exploratory yet comprehensive access to network data. It allows you to read all sources of accessible network data, such as authorship or business process networks. 

The tool combines dynamic text mining, graphic visualization, and various filter algorithms to help you cope with large heterogeneous networks. It can efficiently evaluate the evolving patterns of electronic communication, including voice over IP, instant messaging, and email.

Key Features

  • Renders 2D and 3D networks of communication
  • Allows for time-based observation of growth of the network
  • Splits network into groups based on the network structure

Overall, Commetrix allows you to observe the detailed lifecycle of a communication network of thousands of concurrently changing relationships.

16. Social Network Visualizer

Best for: Analyzing graphs and social network characteristics, and creating HTML reports

This user-friendly, cross-platform tool allows you to draw social networks on a virtual canvas, load field data from a file, or browse the Internet to create a network of connected webpages.

Key Features

  • Advanced metrics for social network analysis such as centrality and prestige indices
  • Fast algorithms for community detection
  • Structural equivalence analysis

Social Network Visualizer calculates standard graph and network cohesion metrics (like density, eccentricity, clustering coefficient, etc.), matrix routines, and centrality and prestige indices.

It supports fast algorithms for community detection, structural equivalence analysis, multi-relational network loading and editing, various random network generation models. 

15. JUNG

Best for: Information visualization, knowledge discovery, and data mining

Java Universal Network/Graph Framework (JUNG) provides an extendible language for modeling, analyzing, and visualizing data that can be described using a network or graph.

Since this tool is written in Java, it can utilize the full capabilities of the Java API and third-party Java libraries. It is designed to support a wide range of representations of entities and their relations, such as hypergraphs, multi-modal graphs, directed and undirected graphs, and graphs having parallel edges.

Key Features

  • Annotate graphs, entities, and relations with metadata
  • Filtering mechanism lets you focus on specific portions of a graph
  • Allows you to analyze large sparse graphs with more than 150,000 nodes

JUNG supports the implementation of numerous algorithms, including random graph generation, clustering, optimization, network distance calculation, and statistical analysis.

14. Tulip

Best for: Visualizing semantic networks

Tulip is a lightweight framework for analyzing and visualizing relational data. It provides you with a fully functional library, supporting the design of interactive information visualization applications for relational data that can be customized as per your needs. 

Written in C++, Tulip makes it easy to reuse components and analyze massive datasets. It has been designed to visualize graphs having up to 1,000,000 elements.

Key Features

  • Domain-specific visualizations
  • Graph clustering
  • Visual attribute mapping

The framework supports a wide range of algorithms for graph visualization, including graph drawing algorithms, metrics algorithms, clustering algorithms, and visual attribute mapping algorithms.

13. Statnet

Best for: Implementing recent advances in network modeling based on ERGM

Statnet is a suite of R packages that perform a wide range of data management, visualization, and statistical network analysis tasks. This analytic framework relies on Exponential family Random Graph Models (ERGM). It provides several tools for model estimation, model evaluation, model-based network simulation, and network visualization. 

Key Features

  • Optimized for speed and robustness
  • Provides a unifying coherent framework for modeling
  • Provide a complete stochastic representation of the process of network formation

The broad functionality of Statnet is powered by a central Markov chain Monte Carlo algorithm that can easily handle networks having several thousand nodes.

Statnet includes the code and functions of many common network statistics used in the social network field. However, the terms relevant for any specific network (or for networks outside the social sciences) may differ.

12. Netlytic

Best for: Analyzing online interaction with large online communities

Netlytic is a cloud-based social network analyzer that is capable of automatically summarizing textual data and discovering communication networks from publicly accessible social media posts.

It uses APIs to gather posts from YouTube, Twitter, and RSS feeds. You can also upload existing datasets from Google Sheet or text/csv files.

Key Features 

  • Discovers popular topics or hot discussions
    Maps geo-coded social media data
    Allows you to conduct social science research on online communities

Overall, the platform can help you find and visualize who is talking to whom within a community, how they are talking about, how often they are communicating, how they actually feel about the topic they are discussing, and the behavior and strength of their interactions with each other.

11. NetworkX

Best for: analyzing massive graphs having more than 10 million nodes and 100 million edges

NetworkX is a Python library for creating and analyzing the structure and dynamics of complex networks. It is a very scalable, portable, and reasonably efficient framework for social network analysis.

NetworkX provides a standard programming interface and graph implementation that is suitable for various applications. It is mostly used by computer scientists, physicists, mathematicians, and social scientists.

Key Features 

  • Includes many standard graph algorithms
  • Network structure and analysis measures
  • Construct random graphs and synthetic networks

This tool makes it easy to draw networks in 2D and 3D, and find subgraphs, cliques, and k-cores. You can also explore degree, center, betweenness, radius, diameter, adjacency, etc.

10. Cytoscape

Best for: Performing advanced analysis and modeling on massive datasets

Cytoscape helps you visualize complex networks and integrate them with many different types of attribute data. You can directly connect it to the external public databases and import network and annotation data.

Although Cytoscape was originally developed for biological research, it has now become a general platform for complex network analysis and visualization. Plenty of plugins are available for various problem domains, ranging from social network analysis and semantic web to bioinformatics.

Key Features

  • Zoom in/out and pan to browse the network
  • Filter the network to select subsets of nodes and/or interactions
  • Export your networks as JSON files

This tool allows you to customize network data display the way you want. Expression data can be mapped to node color, border color, or border thickness, etc., based on user-configurable colors and visualization schemes.

9. Subdue

Best for: Finding structural, relational patterns in data representing entities and relationships

Subdue is a graph-baed knowledge discovery system that represents data using a labeled, directed graph. Like all other graphs, this graph has vertices and edges that represent entities and relationships, respectively.

Subdue can carry out various learning tasks, ranging from clustering and graph grammar learning to supervised and unsupervised learning,

Key Features 

  • Discovers repetitive and interesting patterns within a graph
  • Finds discriminating patterns from a set of classified graphs
  • Identifies both exact and inexact (isomorphic) substructures within a graph

Apart from social network analysis, it has been successfully applied in a number of fields, including anomaly detection, CAD circuit analysis, protein structure analysis, and DNA gene transcription sites. 

8. Graphviz

Best for: Implementing different types of graph layouts

Graphviz is an open-source platform that can render data in the form of easy-to-understand diagrams. These diagrams can have practical uses in many different fields, specifically in engineering.

Graphviz features a graph description language called the DOT language. The platform provides some tools to create and process DOT files. “Dott,” for example, is a graphical user interface to visualize and edit graphs.

Key Features 

  • Offers numerous libraries and tools, including those for utility, graphics, and drawing
  • Unique ability to connect several graphs by creating nodes and edges
    Saves diagrams in common formats such as images and SVG for web pages

It also has several useful options to create or edit graphs, such as tabular node layouts, hyperlinks, color, fonts, line styles, custom shapes, etc.

7. NetMiner

Best for: Exploratory and confirmatory analysis and visualization of large network data

With NetMiner, you can explore complex network data visually and interactively. It allows you to analyze up to 5000 nodes and detect hidden patterns and structures of the network.

NetMiner has a few extensions that extend its functionality and helps you expand your research. NetMiner SNS Data Collector, for example, gathers data from YouTube, Twitter, Facebook, and Instagram for public opinion analysis. Biblio Data Collector makes it easy to deal with complex and time-consuming tedious tasks.

Key Features 

  • Comprehensive network measures and models
  • Pre-designed statistical procedures and charts
  • What-if network analysis

The data structure in NetMiner contains a dataset with multiple data items. Each of these items is used as the basic unit for analysis. Within the data items, there is the main node set, subnode set, one-mode network, and two-mode network. All analysis and visualization are carried out through this dataset. The basic data file, which is managed as a project, is saved with a filename extension NMF (NetfMiner File).

Although the software is not completely free, it comes with a 14-day trial period.

6. SocioViz

Best for: Finding hottest emerging topics of discussion on Twitter

SocioViz is a social media analytics platform designed for digital journalists, social researchers, and media marketers. It helps them efficiently analyze any term, topic, hashtag, or fan page. Also, it automatically collects worldwide trends.

The platform identifies key influencers and their opinions. You can use this feature to hear what people are saying about your brand and competitors.

Key Features 

  • Search any keyword or hashtag and filter results by data and language
  • Collect posts in real-time or search one week in the past
  • Identify most relevant actors and contents in online conversations

The data can be exported in three different formats: PNG, GML, and GEXF (Graph Exchange XML Format).

5. NetworKit

Best for: Network scientists and engineers to increase their understanding of network phenomena

NetworkKit is an open-source toolkit for analyzing networks of any size ranging between one thousand to several billion edges. It implements several efficient graph algorithms in parallel to utilize multicore architectures. These algorithms compute key network metrics, such as clustering coefficients, degree sequences, and centrality measures.

Some implementations work really well. For instance, it takes only three minutes to perform community detection in a 3.3 billion edge web graph on a 16-core server.

Key Features

  • Includes community detection algorithms
  • Describes how networks form and evolve specific structural features.
  • Seamlessly integrates with Python libraries for scientific computing and data analysis

NetworkKit provides functions to transform graph objects to NetworkX, and thus connect two different modules. The most effective way to get a complete picture of a network is to use the Profiling Module. However, if you are only interested in a small subset, it might make more sense to compute them separately.

4. GraphStream

Best for: Handling the graph evolution

GraphStream is a Java library that focuses on the dynamics aspects of graphs. It provides a simple way to represent and process complex graphs. You can store various types of data attributes (numbers, strings, or any object) on the graph elements.

In addition to nodes and edges, GraphStream uses “stream of graph events” to define the graph. Events represent when nodes, edges, or any associated components change. In this way, it doesn’t only describe a fixed representation but the entire evolving history of graph elements.

Events Found in GraphStream

  • Node/Edge addition/removal
  • Clear graph
  • Graph/node/edge attribute addition or alteration
  • Graph/node/edge attribute removal

The library also has features to display graphs beautifully. The viewer displays nodes in an automatic layout, but you can customize the rendering of elements using a CSS stylesheet.

3. R

Best for: Representing, modeling, and mapping complex networks

R programming language is packed with numerous packages relevant for social network analysis:

  • igraph for generic network analysis
  • network for manipulating and displaying network objects
  • sna for performing sociometric analysis
  • tnet for performing analysis of weighted or longitudinal network
  • Bergm for Bayesian analysis for exponential random graph models
  • networksis for simulating bipartite networks with fixed marginals 

All existing packages (that can be used for social network analysis) have their own features. They can be used to compute centrality, clustering coefficient, network diameter, density, page level, and many more specific features.

Since network data are less regulated than usual social science data, R programming language makes it fairly easy to manipulate and reorganize data and implement customized functions. The platform is free and platform-independent, so it can be used anywhere.

2. Pajek

Best for: Drawing a 3D layout of graphs

Pajek is an excellent program for analyzing and visualizing large networks. It has three main goals:

  • Split a large network into smaller ones that can be processed efficiently
  • Provide users with powerful visualization tools
  • Implement a set of efficient (sub-quadratic) algorithms to examine large networks

With Pajek, you can find clusters in a network, extract vertices that belong to the same clusters and show them separately (in-depth local view), shrink vertices in clusters, and show relations among clusters (global view).

Some of the basic operations include searching for connected components, searching for shortest paths, maximum flow, k-neighbors, centralization of networks, fast sparse network multiplication, and generating different types of random networks.

Besides common (directed, undirected, mixed) networks, Pajek supports two-mode networks (bipartite graphs) and temporal networks (dynamic graphs).

So far, Pajek has been used in many research areas, such as social network analysis, biomedical/genomic research (protein-receptor interaction networks), genealogies, and data-mining (2-mode networks).

1. Gephi

Best for: Creating social data connectors to map communicate organizations and small-world networks

Gephi is like Photoshop but for graph data — users interact with representations, manipulate the structures, shapes, and colors to discover hidden patterns. This open-source tool utilizes a 3D render engine to display graphs in real-time and speed up the exploration.

It is specially designed for data analysts and scientists to make hypotheses, find patterns, and isolate structure singularities or errors during data sourcing.

Key Features

  • Real time visualization for networks up to 100,000 nodes and 1,000,000 edges
  • Includes state-of-the-art algorithms layout algorithms
  • Allows you to create complex filter queries without scripting

In addition to conventional network analysis, Gephi has been used in various research projects in journalism and academia. For example, it has been used to represent patterns of biological data, examine Twitter network traffic during social unrest, and visualize the global connectivity of New York Times content.

Read: 13 Best Penetration Testing Tools

Other Equally Good Social Network Analysis Software Programs

19. Graph-Tool

Plus Point: Fast computation; Powerful visualization

This is a Python module for the statistical analysis of complex networks. Its level of performance (in terms of computation time and memory usage) is comparable to that of pure C or C++ libraries.

The modules use various algorithms and output formats to display the graph. It has its own layout algorithm and interactive drawing routines based on open-source graphic libraries named Cario and Graphviz.

20. InfiniteGraph

Plus Point: Can handle some of the most difficult queries for any database

InfiniteGraph is cross-platform, cloud-enabled, designed to handle very high throughput. It can ingest massive volumes of distributed data while simultaneously building the graph to allow for real-time queries.

You can use this tool to develop, test, and deploy on up to 50 GB of disk storage. There are no time limitations or feature restrictions.

21. EgoNet

Plus Point: Collects data and presents it in a useful manner

Egocentric Network Study Software (EgoNet) allows you to create the questionnaire and gather and analyze all social network data of a website on the Internet. It also provides sets of data and comprehensive measures that can be used for further analysis by other tools.

Written in Java, EgoNet has two modules: EgoNetW for creating formats of questionnaires and EgoNetClientW for defining relevant questions.

22. Polinode

Plus Point: Includes relationship-based survey tool for organizational network analysis

With Polinode you can upload arbitrary network data for online visualization and analysis. It can handle tens of thousands of nodes and calculate computationally demanding metrics on these networks such as centrality, closeness, betweenness, and many more.

Polinode also comes with a fully integrated relationship-based survey tool, which allows you to run surveys with tens of thousands of respondents.

23. Mathematica

Plus Point: Extensive collection of graph operations and modifications

Mathematica provides state-of-the-art functionality for creating and analyzing complex networks. It has about 5,000 built-in functions covering all areas of technical computing — all effectively integrated so they work perfectly together.

High-level functions allow you to identify communities, discover cohesive groups, and visualize the results. A full suite of social network measures makes it easy to explore networks, rank actors from their centralities, and provide recommendations based on similar actors.

Read: 13 Best Configuration Management Tools [Free & Paid]

Frequently Asked Questions

What is social network analysis?

Social network analysis is a research technique developed primarily in communication science and sociology. It focuses on patterns of relations among individuals and among groups such as states and businesses.

More specifically, it focuses on the interactions among users in terms of “who follows who,” where the network is defined as a thriving community instead of a randomly populated graph.

How many types of social network analysis are there?

There are two main types of social network analysis:

  1. Egocentric analysis focuses on studying individual networks and their impact.
  2. Sociocentric analysis focuses on studying large crowds and quantifying the relationship between a group of people and how interactions among people affect the group as a whole.
What are the major applications?

Social network analysis has been extensively used to understand behavior between individuals or organizations through their linkages on social media platforms such as Facebook and Twitter.

It is also used in intelligence and law enforcement activities. The National Security Agency, for example, exploits its electronic surveillance systems to produce data required to conduct this kind of analysis on networks associated with national security (such as terrorist cells).

Read: 13 Best Data Science Tools This Year

Businesses and private organizations use social network analysis to support activities like information system development analysis, customer behavior analysis, and business intelligence needs.

Written by
Varun Kumar

Varun Kumar is a professional science and technology journalist and a big fan of AI, machines, and space exploration. He received a Master's degree in computer science from GGSIPU University. To find out about his latest projects, feel free to directly email him at [email protected] 

View all articles
Leave a reply