In de informatica is een online-algoritme een algoritme waarbij de invoer niet geheel bekend hoeft te zijn wanneer het algoritme begint. Dit staat tegenover een offline-algoritme waarbij de gehele invoer bekend moet zijn voordat het algoritme kan beginnen. Zo kan insertion sort bijvoorbeeld geïmplementeerd worden als een online-algoritme terwijl dat bij selection sort niet mogelijk is (bij selection sort moet de lijst geheel bekend zijn, bij insertion sort niet). Bij online-algoritmen kan het zijn dat het antwoord niet optimaal is aangezien niet alle informatie van tevoren bekend is.