Looking for some steganography guidance

This maybe a noob question, but what is the difference between outguess and steghide? Are all steganography tools alike? Can I make a secret text file image in outguess and then open it up in steghide? I am not using a passphase at the moment, just researching this topic.

Thank you for your time!

  • This seems to be a question about basic usage of various tools. Perhaps you would be better off asking their support?
    – forest
    Jul 14, 2018 at 3:10

1 Answer 1


Are all steganography tools alike?

No. There are various techniques you can use to embed data into an image starting from just embeding black-white images in the least significant bit of each color channel to more sophisticated methods to methods that only work for specific image formats etc. There are methods that require a key and methods that don't require a key (or passphrase).

Not all stegonagraphy uses images. You can use txt files, you can use html files, you can use word documents, you can use audio files... you can hide pretty much "anything" in "anything" - but it depends on how much secret data you can hide in non-secret data so depending on the methods you use you're limited in how much data you can hide.

If you want to know how each individual tool works... you gonna have to read the documentation of the individual tool and hope they document how they do it or you gonna have to read their source code.


People think data is somehow "typed" or has an innate format of some sort. But this is obviously false. If you see 8bits 10101010 you have absolutely zero clue as to what these bits represent. It could be a character, it could be 8 single bits, it could be 2 4-bit unsigned numbers, it could be a pixel in an image, it could be 8 pixels in a black white image it could be a 1 byte instruction. Bits have no inherent meaning. WE give them meaning by associating a type & encoding with it. That's why you can hide almost anything in anything.

You can hide text in html by abusing the fact that multiple spaces are rendered as a single space so when you open the file in a browser you see nothing. But these spacings you can use to encode bits. For example: 2 spaces -> 1 bit, 3 spaces -> 0 bit so this text in html:

This  is   a  short   text.

Which is rendered as

This is a short text


This  is   a  short   text.
     1    0  1       0

contains 4 bits of hidden data. You can give meaning to things in some format that don't have meaning in their intended format. Or you can abuse the fact that humans can't see the difference between a pixel 11111111 and 11111110 so you can use the last bit to encode your data.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .