Il linking (lett. "collegamento"),[1] in informatica, è il procedimento di integrazione dei vari moduli a cui un programma fa riferimento (i quali possono essere sottoprogrammi o librerie), per creare una singola unità eseguibile. Il linker (o link editor) è un programma che effettua il collegamento tra il codice oggetto, cioè la traduzione del codice sorgente in linguaggio macchina, e le librerie del linguaggio necessarie per l'esecuzione del programma (API, Application programming interface).
Nei mainframe IBM come gli OS/360 questo programma è chiamato linkage editor. Nelle varianti di Unix è spesso usato anche il termine loader come sinonimo di linker. A causa di questa confusione terminologica tra il processo a compile-time e quello a run-time, questa voce userà linker per il primo e loading per il secondo.