Steganography hides that a message exists, while encryption hides what it says. This encoder adds a version marker, byte length, and checksum before placing the text into the image. Those fields let a compatible decoder distinguish a real CanDoYa payload from random pixel noise and detect damaged data.
The cover can be JPG, PNG, or WebP, but the result is always PNG. PNG preserves exact channel values. A lossy format, image editor, crop, resize, or messaging service that recompresses pictures can change the low bits and make the message unreadable.