GNU Dr. Geo, be a Geometer!

A program to design and manipulate interactive geometric sketches. It helps kids to explore geometry.

Dr. Geo demo

Dr. Geo in a few words.

Dr. Geo aims to be an open, easy to study, modify and extend interactive geometry software. It is distributed with its source code. You can modify its own source code while using it. Ten years old kids use Dr. Geo to explore Euclidean geometric sketches; agile kids extend and program it with its embedded dynamic Pharo language and user interface.

Just like other interactive geometry software such as Cabri, Cinderella, Geogebra, Carmetal, with Dr. Geo the user creates a geometric sketch and manipulates it according to its constraints. What sets Dr.Geo apart from the other geometry software is the possibility of studying and even modifying/extending its source code while s/he is using it to create a figure.

What can be done with Dr. Geo?

In primary education, you explore the geometric properties of triangles, parallelograms, squares, rhombus. Advanced users can also design interactive activities to guide the learners, it is achieved with a combined use of interactive sketch and programmed scripts to monitor the learner action. Such examples are distributed with Dr. Geo, and it was the result of pedagogical inquiries.

In secondary education (junior high), learners explore the quadrilateral and triangle properties. Geometric transformations are on the stage too to explore and to study them interactively. Dr. Geo comes with a complete transformation tool set: central and axial symmetries, translation, scale and rotation are ready to use on point, straight line and curve.

Senior high school teachers may even better appreciate the value of Dr. Geo, finding it useful even beyond pure mathematical subjects and into topics such as mechanics. Moreover, Dr. Geo programming is of good help to understand how numerical methods such as Newton-Raphson algorithm (for finding the zero of a function) behave in different situations, to create recursive constructions such as the Fibonacci spiral, based on the Fibonacci numbers or sequence and cobweb diagram, etc.

Downloading Dr. Geo

The latest Dr. Geo release is found at its download project files page.

Source code

The Dr. Geo source code is at Launchpad, To build the executable:

  • read the INSTALL document which resides in the Dr. Geo repository;
  • install the Pharo programming system (licensed under the MIT license);
  • install Dr. Geo according to instructions.

But do not forget, the Dr. Geo source code can also be edited from the integrated source code browser while running the program.


How to contact the Dr. Geo team

Social network
Follow us on Mastodon.
Mailing list
There is a mailing list for all kinds of discussions related to Dr. Geo.

Getting involved

Development of Dr. Geo, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion forum.

Use the software!
Learn and use Dr. Geo. You may encounter bugs or you may have ideas for new features. Several were developed at user requests.
Contact: forum, email, bug report whatever suit you.
We have pretty complete user guides in French and English. Its source is the Texinfo format—as requested for any GNU software. Help is welcome for proofreading, formatting contents or contributing chapters.
Documentation source repository
Dr. Geo user interface needs to be localised to as many languages as possible. To participate in this effort, visit its translation page. Translation is done online from your web browser. You only need a Launchpad account.
For development sources, issue trackers, and other information, please see the Dr. Geo project page.
See the open bug tickets.
The author of Dr. Geo is Hilaire Fernandes <hilaire AT>; he's still maintaining it.


Dr. Geo is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.