Notes that stay where you took them

Fieldnote pins every observation to a place, a time, and a photo, so a survey reads the same six months later as it did on the day.

Riverbank transect 3Today
Canopy cover, plot BYesterday
Soil samples, north fieldMon
Bird count, dawnSun

Riverbank transect 3

Bank erosion between the willow stand and the gravel bar has cut back about forty centimetres since the spring visit. The root mat over the undercut is exposed along the whole reach and hangs free in two places.

Water ran clear to the bed at the midpoint, a hand's width below the marker stake. Two grey wagtails worked the shallows for the length of the count.

Works offline

Notes, photos, and coordinates queue on the device and sync when a connection returns.

Exports to anything

CSV, GeoJSON, or a printed field sheet. The data leaves in the shape your analysis wants.

Built for teams

Assign plots, compare observers, and review a season in one timeline.

Pricing

PlanObserversStoragePrice
Solo15 GBFree
TeamUp to 10100 GB€12 / observer / month
InstitutionUnlimited1 TBContact us

Widget settings

The widget reads its options from its script tag, once, when the page loads. This page carries them in the query string, so applying a change reloads the page. The notes you have already taken stay where they are.

colorForHighlight paints all three kinds at once and is not in the grid: a colour input has no way to say unset, and the three per-kind options below say the same thing one kind at a time. The README carries it.

Two of the options name a server to keep the notes on instead of this browser. A link must not be able to point your notes at somebody else's server, so this page takes a loopback address only: localhost, anything in 127.0.0.0/8, or [::1]. The repo ships server/server.py to run there, with python3 server/server.py --port 8123. The hosted demo is served over HTTPS from github.io and browsers restrict a public page reaching a loopback address (Private Network Access), so the two server options are meant for a demo you run locally and may be blocked here.

The script tag for this set of options: