Guide
How to use the online protractor
Three clicks gets you an angle. The rest of this page is about getting a good one.
1. Load something to measure
Choose a file, drag one onto the page, or paste a screenshot with Ctrl/Cmd + V. PNG, JPG, WebP, GIF, SVG and PDF all work. Large photos are reduced to 4000 pixels on the long edge, which does not affect any angle you measure.
You can also skip this entirely and measure on a blank canvas — useful for demonstrating an angle rather than measuring one.
2. Place the vertex, then the two rays
With the Angle tool active, click three times: the corner first, then a point along each of the two edges. The angle appears as soon as the third point lands.
Place the ray points as far from the vertex as the edge allows. Long rays are more precise than short ones — you will see the ± figure drop as you do it.
3. Refine the reading
Drag any handle to adjust. For real precision, click a handle to focus it and use the arrow keys, holding Shift for single-pixel steps. This is more accurate than dragging, and it is how to get the tightest reading the image supports.
Pinch to zoom on the canvas, or use the + / − buttons in the toolbar. Zooming in genuinely improves accuracy rather than just magnifying — see accuracy and limits.
4. Read everything the angle tells you
The results table shows the inner angle plus its outer, complementary and supplementary values, its classification, and its slope as a percentage and a roof pitch. Complementary and supplementary are hidden when they would be meaningless rather than shown as negative numbers.
Measuring several angles at once
Keep using the Angle tool — each set of three clicks adds another measurement, and they all stay in the table together. For a connected figure, the Chain tool is faster: click along the shape and press Enter, and every interior angle is measured in one go. Trace a closed shape and the row also reports the interior-angle sum, which must equal (n − 2) × 180° — a built-in check that the reading is sound.
Getting real lengths
Angles never need a scale. Lengths do. Click Set a scale, click two points a known distance apart, and type that distance. Lengths then read in your chosen unit.
This is a single-plane scale: it is accurate for features on the same plane as your reference, and progressively wrong for anything nearer to or further from the camera.
Exporting
| Format | Use it for |
|---|---|
| PNG 1× / 2× / 4× | An annotated image for homework or a report |
| SVG | Vector output for a drawing program |
| CSV | Every value in a spreadsheet — opens directly in Excel (UTF-8 with BOM) |
| JSON | Saving the workspace to reopen and keep editing |
| Print / Save as PDF | A documented copy, via your browser's print dialog |
Keyboard shortcuts
| Key | Action |
|---|---|
| V | Select and move |
| H | Hand tool — pan the canvas |
| A | Angle tool |
| C | Chained angles |
| L | Length tool |
| K | Set a scale |
| Space + drag | Pan the canvas (desktop) |
| Middle-click + drag | Pan the canvas (desktop) |
| Arrow keys | Nudge the focused point |
| Shift + arrows | Fine nudge, one pixel |
| Shift while dragging | Invert the snapping setting |
| Enter | Finish a chain |
| Esc | Cancel the current placement |
| Delete | Remove the selected measurement |
| Ctrl/Cmd + Z | Undo |
| Ctrl/Cmd + Shift + Z | Redo |
| Ctrl/Cmd + V | Paste a screenshot |
On a phone or tablet
The toolbar and sidebar stack vertically on narrow screens. Use pinch-to-zoom on the stage (two fingers), tap Hand then drag with one finger to pan when zoomed in, and tap handles to place points — touch targets are sized for fingers. For the tightest reading, focus a handle and nudge with a Bluetooth keyboard if you have one.
If a panel feels cramped, scroll the page so the stage is centred before placing points — clicks use viewport coordinates.
If something goes wrong
Closed the tab by accident? Reopen the page and you will be offered your unsaved work back. Reading looks wrong? Check that the vertex is on the actual corner and that the photo was taken square-on — perspective is the error that zooming cannot fix.