En macro (også stavet makro) er inden for informationsteknologien en samling af instruktioner eller kommandoer, der kan angives eller udføres under ét navn.
Macroer finder anvendelse i flere programmeringssprog. Macroer finder udstrakt anvendelse i assemblerprogrammering, hvor man simpelthen samler et antal assemblerinstruktioner under et navn, gemmer dem i et macrobibliotek og senere i programmet kan nøjes med at skrive navnet på macroen. Assembleren ekspanderer da macroen til de angivne instruktioner, der indsættes i stedet, før den egentlige assemblering sker. Macroer kan ofte ”tage parametre”, så dele af den indsatte assemblerkode modificeres. F.eks. kan labels (referencer til adresser indsættes). Et eksempel fra assembleren til Univac-1100, hvor macroen (PROC'en) FLYT først defineres med parametre:
FLYT* PROC LX X1,(1,FLYT(1,1)) LX X2,(1,FLYT(1,2)) LR,U R1,FLYT(1,3) LA A1,0,*X1 SA A1,0,*X2 JGD R1,$-2 END
I den følgende kodestump kaldes macroen FLYT og etiketterne på to lagerområder LOCA og LOCB angives som parametre sammen med litteralen 10. Assemblerinstruktionerne defineret ovenfor indsættes i stedet for navnet FLYT og parametrene indsættes på de angivne pladser.
START . FLYT LOCA,LOCB,10 .
Macroer findes også i flere højniveausprog, hvor de typisk er en del af præcompileren. Det er et program, der behandler programkoden før den egentlige kompilering (oversættelse). En præcompiler er normalt mere avanceret end macroer i assembler.
Macroer findes også i flere applikationsprogrammer, hvor man kan samle flere kommandoer eller handlinger, gemme dem under et ønsket navn og senere udføre de samme kommandoer igen (men typisk på andre data). Macroer findes i regneark, tekstbehandlingsprogrammer , grafikprogrammer og mange andre programmer. Derved kan rutineopgaver, der skal udføres ofte, meget nemt udføres.
Macroer kan i nogle programmer fungere som et helt programmeringssprog.