This paper proposes COPRA, an algorithm for detecting overlapping communities in large networks using label propagation. COPRA extends the RAK algorithm by allowing vertices to belong to multiple communities, with a parameter v controlling the maximum number of communities a vertex can belong to. The algorithm can handle weighted and bipartite networks and is efficient, processing large networks quickly. It was tested on benchmark and real networks, showing high effectiveness in recovering overlapping communities. COPRA's design allows for community overlap, with vertices potentially belonging to multiple communities. The algorithm uses a threshold to retain only the most relevant community identifiers and normalizes belonging coefficients. It also includes a termination criterion based on the minimum number of vertices per community. Postprocessing steps ensure communities are connected and subsets are removed. COPRA was compared with other algorithms on synthetic and real networks, showing superior performance in detecting overlapping communities. It was also adapted for bipartite networks by modifying the propagation direction. The algorithm is efficient, with linear time complexity for sparse networks, and performs well on both synthetic and real data.This paper proposes COPRA, an algorithm for detecting overlapping communities in large networks using label propagation. COPRA extends the RAK algorithm by allowing vertices to belong to multiple communities, with a parameter v controlling the maximum number of communities a vertex can belong to. The algorithm can handle weighted and bipartite networks and is efficient, processing large networks quickly. It was tested on benchmark and real networks, showing high effectiveness in recovering overlapping communities. COPRA's design allows for community overlap, with vertices potentially belonging to multiple communities. The algorithm uses a threshold to retain only the most relevant community identifiers and normalizes belonging coefficients. It also includes a termination criterion based on the minimum number of vertices per community. Postprocessing steps ensure communities are connected and subsets are removed. COPRA was compared with other algorithms on synthetic and real networks, showing superior performance in detecting overlapping communities. It was also adapted for bipartite networks by modifying the propagation direction. The algorithm is efficient, with linear time complexity for sparse networks, and performs well on both synthetic and real data.