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.