Meestal wordt netelroos veroorzaakt door een allergische reactie. Als er een allergische reactie plaatsvindt, komt er een stofje vrij in de huid: histamine. Wanneer er teveel histamine in de huid vrijkomt verwijden de bloedvaten zich, hoopt vocht zich op onder de huid, en ontstaan er bulten en jeuk.
Netelroos kan een reactie zijn op bepaalde prikkels, zoals:
- voedingsmiddelen, zoals schelpdieren, noten, fruit, eieren of chocolade
- conserveringsmiddelen
- kleurstoffen
- smaakversterkers
- insectenbeten, zoals muggen, wespen en luizen
- een infectie
- blootstelling van de huid aan hitte of koude
- uv-straling (zonlicht)
- medicijnen, zoals aspirine of antibiotica
Het lukt echter regelmatig niet om de prikkel op te sporen die de netelroos veroorzaakt. Ook kunnen meerdere prikkels een rol hebben gespeeld. Netelroos kan ook veroorzaakt worden door een virus. Dit is vaak het geval bij netelroos bij kinderen. In zeer zeldzame gevallen heeft netelroos een onderliggende oorzaak. Voorbeelden hiervan zijn een stofwisselingsziekte, hormonale stoornis of een auto-immuunziekte.
Een ernstige, maar zeldzame vorm van galbulten is het Quincke-syndroom. Hierbij zwellen het gezicht en de slijmvliezen in de mond en keelholte op, waardoor er een risico op verstikking bestaat. Ook angio-oedeem is een variant van urticaria, die soms samengaat met netelroos, maar zich ook onafhankelijk kan ontwikkelen. Angio-oedeem bestaat uit voorbijgaande, uitgebreidere zwellingen. Het komt voornamelijk voor op plekken waar de huid een losse hechting met de onderlaag heeft, bijvoorbeeld op de oogleden, wangen, lippen en de uitwendige geslachtsdelen.
In 70% tot 90% van de gevallen is de oorzaak van netelroos onduidelijk.