This study proposes two efficient data hiding methods incorporating both run-length encoding and modular arithmetic. The first method, BRL (hiding bitmap files by run-length), is suitable for embedding simple data with long streams of repeating bits; the second method, GRL (hiding general files by run-length), is good for embedding complicated data with short streams of repeating bits. Both of the new methods embed secret data in each nonoverlapping block composed of only two consecutive pixels, with the image quality controlled by a modular operation. In addition, the concept of run-length encoding – namely recording the number of repeating bits in the secret data and the bit value itself – is applied for simplicity and efficiency. The experimental results demonstrate that BRL and GRL have their own strengths with respect to different types of secret data. Furthermore, on the average, both can outperform other well-accepted image steganographic methods in terms of image quality and embedding capacity.