This page is an entry point to the ns-3 documentation maintained by the project (other tutorials exist on external blogs and on YouTube but are not typically listed here).

Documentation is available for the current release (ns-3.25), older releases, and also our development tree.

Getting started

  • Written tutorial: The tutorial for our latest release is available in HTML and PDF versions.
  • Installation instructions: We typically maintain this information on our wiki.
  • Videos: The ns-3 Consortium has offered training sessions at its annual meeting (next scheduled for June 2016), and recorded videos from the last two years can be found from this page. The first such sessions are introductory surveys for new users.
  • Mailing lists: We have several mailing lists, but in particular, the ns-3-users Google Group forum, answers many questions from people trying to get started.


Most users will need to write new simulation scripts and possibly modify or extend the ns-3 libraries to conduct their work. The three main resources for this are our reference manual, model library documentation, and our Doxygen.

  • We maintain a reference manual on the ns-3 core, and a separate model library documentation set, also in several formats for our latest release.
  • All of our APIs are documented using Doxygen
  • The ns-3 coding style documentation is maintained on this site.

Related projects

  • Direct Code Execution: Documentation on the ns-3 Direct Code Execution environment is also linked from this site.
  • Netanim: A network animator for ns-3.
  • Bake: The package management tool for advanced ns-3 builds.
  • ns-2


Not finding what you are looking for? Have a look at the ns-3 wiki, where such topics as current development, release planning, summer projects, contributed code, FAQs and HOWTOs. Not everything is linked from the masthead so try entering keywords in the search box.

We have a number of other archived documents such as older tutorials or talks presented about ns-3.