Written and maintained by CASRAI Editorial Board
Last updated
NetLogo is a free, programmable modeling environment for simulating natural and social phenomena, widely used for agent-based models. It is aimed at researchers, students and teachers who want to build a model of many interacting individuals and watch what emerges. This guide explains what NetLogo is, what language it uses, and how its BehaviorSpace tool turns a single model into a documented, repeatable experiment.
What NetLogo is
The official documentation (NetLogo 7.0.0) describes NetLogo as “a programmable modeling environment for simulating natural and social phenomena.” It was created by Uri Wilensky in 1999 and is developed at the Center for Connected Learning and Computer-Based Modeling at Northwestern University. Its stated design philosophy is “low threshold, high ceiling”: easy to start with, but able to support serious research models.
In practice you describe the behaviour of individual agents and the environment they live in, then run the model to see what collective patterns result. That makes it a common starting point for agent-based modeling in the social sciences, ecology and related fields.
Who runs it and what it covers
NetLogo is developed by the Center for Connected Learning and Computer-Based Modeling (CCL) at Northwestern University. The NetLogo site lists a family of products rather than one program:
- NetLogo Desktop, the main application for building and running models.
- NetLogo Web, a browser version.
- Turtle Universe, NetTango and HubNet Web, which support teaching and participatory simulation.
The NetLogo Center, which supports the project’s open-source ecosystem, launched with initial support from the US National Science Foundation’s Pathways to Open-Source Ecosystems (POSE) program.
Is NetLogo free to use?
Yes. NetLogo is free, open-source software released under the GNU General Public License. The documentation also notes that commercial licenses are available from Uri Wilensky for uses that do not fit the GPL. See the open-source software entry for how this kind of licence works in research settings, and the software license agreement entry for the contrast with negotiated licences.
What programming language does NetLogo use?
NetLogo has its own language, a dialect in the Logo family. The documentation is explicit that there is no agreed-upon standard definition of Logo; it is a loose family of languages. Programs are organised into procedures that begin with to and end with end (or to-report for procedures that return a value). Extensions, loaded with the extensions keyword, add capabilities; the Extensions Guide lists Array, CSV, GIS, Matrix and Python among them.
Language basics: agents and time
NetLogo models are built from four kinds of agents:
- Turtles, the mobile agents.
- Patches, the fixed grid cells that make up the world.
- Links, connections between turtles.
- The observer, which oversees the model and issues commands.
Time advances in ticks. By convention a model calls reset-ticks at the end of its setup procedure and tick at the end of its go procedure, so that runs can be measured step by step.
How to use it: running a BehaviorSpace experiment
A single interactive run of an agent-based model is one random outcome. BehaviorSpace, listed under the documentation’s Advanced Tools, runs a model many times with different settings and records the results, a technique often called parameter sweeping. The documented workflow is:
- Open your model and choose Tools > BehaviorSpace.
- Create a new experiment and give it an Experiment name.
- In Vary variables as follows, list the values to test, either as a list such as
["a" 1 2]or as a range such as["number" [100 50 1000]]. World dimensions andrandom-seedcan be varied too. - Set Repetitions, the number of runs per combination of settings.
- Enter the reporters under Measure runs using these reporters, and choose whether to record metrics at every step.
- Fill in Setup commands and Go commands, and optionally a Stop condition and a Time limit (0 means no limit).
- Run the experiment and choose the output formats you need.
Choosing a BehaviorSpace output format
The format determines what survives if a long experiment is interrupted, so it is worth choosing deliberately.
| Output | What the documentation says |
|---|---|
| Table | One row per measurement per run, written as each run finishes. |
| Spreadsheet | Written only at the end of the experiment, uses more memory, and is lost if the experiment is interrupted. |
| Lists | Requires Table or Spreadsheet output to be selected as well. |
| Statistics | Reports mean and standard deviation; a standard deviation needs at least three repetitions. |
Because Table output is written run by run, it is the format that preserves finished runs if something stops the experiment partway.
Reproducibility and random seeds
Agent-based models use random numbers, so two runs with the same settings can differ. The documentation describes how to control this:
- To get fixed results, put
random-seedin the setup commands, or varyrandom-seedas an experiment variable. behaviorspace-run-numbergives a different seed to each repetition.- When experiments run in parallel, add
random-seed new-seedto the setup commands and store the seed in a global variable so that any individual run can be reproduced later. - Include
clear-allin the setup commands so each run starts from a clean state.
Recording the seed, the model version and the BehaviorSpace settings alongside your results is the practical core of a reproducible simulation study. The reproducible AI experiment entry applies the same logic in a machine-learning context.
Strengths and limits
These points are editorial interpretation based on the documented design, not measured claims.
- Strengths: free and open source; one tool covers building, visualising and experimenting; BehaviorSpace is built in, so parameter sweeps do not need extra software; extensions connect it to other tools.
- Limits: its Logo-family language is specific to NetLogo, so skills and code do not transfer directly to general-purpose languages; analysing the exported results still happens in a separate statistics environment, for example the one described in summary statistics in R.
Related approaches
| Option | Role relative to NetLogo’s own documentation |
|---|---|
| NetLogo Desktop | The full application, with BehaviorSpace for experiments. |
| NetLogo Web | The browser version, listed among the NetLogo products. |
| Extensions (including Python and CSV) | Add-ons that connect a model to other tools and data. |
| Other simulation packages | Packages such as AnyLogic and Vensim are separate products with their own documentation; consult each vendor’s own pages for their scope and licensing. |
Frequently asked questions
Is NetLogo still used?
The current documentation covers NetLogo 7.0.0, and the project has a dedicated NetLogo Center launched with National Science Foundation POSE support, so it is actively maintained and documented. This page does not cite usage statistics.
Is NetLogo easy to learn?
Its stated philosophy is “low threshold, high ceiling”, and the official site provides tutorials, a forum and a beginner’s dictionary. How quickly you learn it depends on your programming background; the official Tutorial #1 on models is the usual first step.
Is NetLogo free to use?
Yes, under the GNU General Public License, with commercial licenses available from Uri Wilensky.
What programming language does NetLogo use?
A Logo-family dialect specific to NetLogo, extendable through extensions.
Where do I download NetLogo or try it in a browser?
Both NetLogo Desktop and NetLogo Web are listed on netlogo.org.
Sources
All facts were read on 2026-11-07 from the project’s own pages.







