Barco se sitúa a unos 20 km de la cabecera del municipio, enclavada entre la Serra da Estrela y la Serra da Gardunha, extendiéndose sobre la ribera norte del río Zêzere, en el extremo sudeste del distrito de Castelo Branco y limitando con el municipio de Fundão.
Durante mucho tiempo fue punto de travesía entre ambas orillas del río, de lo que proviene su nombre.
Poblada desde la antigüedad, en su término se encuentran restos de un campamento romano y numerosos vestigios de explotaciones mineras abandonadas.
Entre 1872 y 1984 tuvo anexo el lugar de Coutada.
Tras un crecimiento demográfico notable entre mediados del siglo XIX y mediados del siglo XX, a partir de entonces la freguesia sufrió intensamente el fenómeno migratorio, de lo que da idea que en 1950 contara con cerca de 1800 habitantes, casi cuatro veces más que en el censo de 2011.