GeoGebra math software – a review

By Murray Bourne, 20 Aug 2007

[Updated, May 2014: GeoGebra is still under active development and is now in version 4.4. The following tutorial is still relevant and it will get you started. The key features have not changed much, but there are now several more options and many examples on GeoGebraTube. See latest release details.

I'm using JSXGraph now on IntMath, as it is more mobile-friendly than GeoGebra.]

GeoGeobra is an intelligent graphing software that allows the user to interactively explore Cartesian & Euclidean geometry – as well as calculus. Best of all – it’s a free offering!

You can download it from

From their blurb:

GeoGebra is a free and multi-platform dynamic mathematics software for schools that joins geometry, algebra and calculus.

Building an Interactive Document in GeoGebra

Let’s go through the process of creating a document in GeoGebra. Our document will allow the end-user to explore the changing slope of a polynomial as x changes value.

First, we enter the function at the bottom of the screen, using the carat “^” for powers of x:

GeoGebra input

The program converts the function display (see under “Free objects”) so that it is more easily read by a human. I have scaled the y-axis by clicking on the “Move” tool (the one on the far top right) and simply dragging the axis to the desired scale.

Next, we are going to add a tangent line to our curve. We add a new point on the function using the “New point” tool:

GeoGebra add point

Note the other tools that are available on this tool item:

  • Intersection of 2 two curves
  • Midpoint between 2 points

Now we choose the “Tangent” tool as follows:

GeoGebra tangent

Note the other tools that are available on this drop-down. You can construct:

  • Perpendicular line through a point
  • Parallel line through a point
  • Perpendicular bisector
  • Bisector of an angle
  • Diameter line of a conic section

We now have a tangent line. The exploratory activity we can do now is to drag the point “A” to any position on the curve and the tangent line follows along. Even better, we can get a readout of the actual slope as we move around the curve, by typing in:

s = Slope[t]

Rather than just giving a numerical value for the slope, it actually gives a triangle with base length 1 unit, indicating more clearly what a slope at a point really means. The result for one part of the curve is as follows:

GeoGebra slope

Visual Calculus

Let’s now add the curve of the first derivative to our existing plot. (Of course, we expect the first derivative curve to be a parabola, since it will be a polynomial of degree 2).

We achieve this by entering:


The green curve is the first derivative curve (a parabola, as expected):

GeoGebra derivative

We can trace the locus of a point (B) moving on the first derivative curve, as follows:

Geogebra trace

You can use GeoGebra to examine critical points like local maximums and minimums on the curve and the point of inflection (point A) illustrated above.

Other Tools

GeoGebra is a feature-rich offering. The other tools available in GeoGebra that I have not already mentioned include:

  • Rotate an object around a point
  • Draw line segments
  • Draw vectors
  • Draw polygons (including regular polygons)
  • Construct various circles, arcs and sectors
  • Angles, distances and areas
  • You can add text and images
  • You can zoom in and out on objects

Split Functions

GeoGebra will draw piece-wise functions (with a little coaxing). You can achieve the following (with a vector thrown in):

GeoGebra split function


I like the variety of output options. You can either:

  • Save your file for later use (it will have a .GGB extension)
  • Save the graph as an image in PNG, EPS, SVG or EMF format
  • Save the graph to the clipboard (for manipulation in an image editing program or for pasting into a document)
  • Save as an interactive Web page, but this can only be uploaded to GeoGebra Tube (not to your hard drive)

Euclidean Geometry

GeoGebra allows you to easily create angles, polygons and conics.

GeoGebra - dodecagon

As you can see in the regular dodecagon above, GeoGebra allows you to measure angles, including internal angles.


You need Java 1.4.2 or later to run GeoGebra.

I’ve never been a big fan of Java-based software, including those based on Web plugins, because the Java run-time environment is a huge memory hog and it takes a very long time to load. Java is very bloated.

The size of the associated files in Geogebra is quite crazy:

  • GeoGebra-parabola.ggb (2 kB) This is the file that I created above (with the parabola and first derivative. Nice and small)
  • javagiac-win32.jar (4281 kB – it’s unclear what this does)
  • geogebra_properties.jar (2045 kB) – why so big? A properties file should consist of a small amount of text, surely?
  • geogebra_gui.jar (1753 kB) – the GeoGebra interface
  • geogebra_main.jar (1739 kB)
  • geogebra_algos.jar (864 kB)
  • geogebra_cas.jar (506 kB) – the GeoGebra computer algebra system – or inbuilt ‘calculator’
  • geogebra_export.jar (442 kB)

For comparison, the JSXGraph files I run on IntMath are a few hundred lines of code, and JSXGraph itself is just 132 kB.

The Flash files I formerly used on Interactive Mathematics were around 30 kB and the required Flash plugin was around 2 MB (but this does not get downloaded each time you access a Flash file, just once).

These are not fair comparisons, of course. Geogebra is a standalone application which novices can use to produce math applets, whereas JSXGraph (and Flash) requires coding knowledge.

Being Java-based, GeoGebra will run on any operating system and that is a big plus.

Now more compatible

There is now a HTML5 export option in GeoGebra (so it can be run on Web pages without java) and it will run on iOS and Android tablets now.

Still waiting for 3D

I’ve been looking forward to the official release of Geogebra 5 for a long time now. It has 3D graph capability. It has been in beta for years.


GeoGebra is an impressive geometry and calculus exploratory tool. I tend to use it as an exploratory tool when I need something quick. But file size and java permission problems have meant I don’t develop Geogebra applets for the Interactive Mathematics site.

GeoGebra is more intelligent than MS Math 4.0, which I reviewed earlier (it has 3D capability – see Microsoft Math 4.0), but the audience for each product is not exactly the same. Having the 2 products will give you some excellent tools for exploring mathematics.

Do yourself a favour – download GeoGebra now!

See the 9 Comments below.

Share this page

9 Comments on “GeoGebra math software – a review”

  1. Phil says:

    Useful review, thanks Zac.

  2. mhdsys says:

    For the users of GeoGebra , try my website
    [link now goes to empty content]
    you will find a lot of files concerning all the students’ levels (from grade 5 to 12)

  3. Murray says:


    That’s a great collection of GeoGebra objects – thanks for sharing it.

  4. Mohamed Alsayes says:

    Thank you Zac, if you need any question related to GeoGebra , Iam ready to help

  5. GeoGebra math software – a review says:

    [...] GeoGebra math software – a review :: squareCircleZ (tags: geogebra) [...]

  6. Vijay kumar Gupta.C says:


    Thanx for sharing useful info about GeoGebra.
    Recently I started using GeoGebra. I really love this dynamic math tool. Exploring on this now.

  7. Øistein Gjøvik says:

    Hi, I see you mentioned the files and sizes of the output files. Just a tip here: If you choose export as .html and remove the tick in the “ggb & jar” box, you will only get the .html file. I think it still works!

  8. Guillermo Bautista says:

    Hi. I am a GeoGebra Institute Trainer and you may want to check out more than 50 GeoGebra step by step tutorials in my blog:

  9. Murray says:

    @Øistein: I can’t see a ‘tick in the “ggb & jar” box’ in the “Export as html” option.

    Anyway, you need the GGB file – pure html will only give you a simple web page!

Leave a comment