Barra de progresso é um componente de uma interface gráfica do utilizador usado para apresentar o progresso de uma tarefa, como a transferência de um arquivo ou o carregamento de uma página web. A porção preenchida da barra representa quanto já se completou da tarefa, enquanto a parte vazia representa o quanto ainda falta ser processado. A representação gráfica é geralmente acompanhada de um texto indicando o estado atual sob forma percentual.
Uma variação posterior foi a barra de progresso indeterminada, que é usada em situações em que a extensão exata da tarefa é desconhecida, ou quando o progresso da tarefa não pode ser determinado de uma forma representável por frações. Tal barra usa movimento ou outro indicador para mostrar que há atividade acontecendo, ainda que não indicando valores exatos.
O conceito básico desse componente precede as interfaces gráficas. Em 1896, Karol Adamiecki desenvolveu uma gráfico o qual chamou harmonograma, que atualmente é mais conhecido como diagrama de Gantt. Entretanto, ele só veio a publicar a obra em 1931, ainda que numa língua não-ocidental. O diagrama conhecido atualmente é nomeado por Henry Gantt, que desenvolveu sua própria versão do diagrama entre 1910 e 1915. A ideia foi posteriormente adotada na computação.