Private browser utility / Images

Hide Text in an Image

Runs entirely in your browser - no upload, no sign-up.

Live workspaceLocal processing
Pixel message workspaceNo cover image selected

Share this tool
steganography hide text / browser utility
01 / Overview

How can I hide text in an image?

Use image steganography to store a text message in tiny changes to the picture's pixel values. This tool writes UTF-8 text into the least significant bits of the red, green and blue channels, verifies the embedded message, and exports a lossless PNG entirely in your browser.

02

How to use

  1. 01
    Choose a cover image

    Drop a JPG, PNG, or WebP image into the workspace, or click the upload area to choose one from your device.

  2. 02
    Enter the message

    Type or paste the text to hide. Watch the UTF-8 byte meter to make sure the image has enough pixel capacity.

  3. 03
    Encode and verify

    Select Hide text in image. The tool embeds the versioned payload and reads it back from the changed pixels to verify integrity.

  4. 04
    Download the PNG

    Save the encoded PNG without resizing, editing, or converting it. Use a compatible reveal tool to recover the message later.

03

Who it's for

  • Puzzle and ARG creators can place clues in artwork without adding visible text or metadata.
  • Teachers and students can demonstrate least-significant-bit encoding with a result they can inspect and decode.
  • Developers and security learners can create deterministic UTF-8 test carriers for steganography exercises.
  • Friends and creative teams can tuck a harmless surprise note into an image while keeping the picture visually unchanged.

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.

FAQ

Is my image or message uploaded anywhere?

No. The browser decodes the cover image, embeds the message, verifies it, and creates the PNG locally. CanDoYa does not receive the selected file or hidden text. Clearing or leaving the page releases the temporary preview and generated download URL.

Is this image steganography tool free?

Yes. You can hide text in images without an account, subscription, watermark, or server upload. The practical limits are a 25 MB input file, 8192 pixels on either edge, 20 megapixels, and the text capacity available in the selected image.

How much text can I hide in an image?

The encoder uses one bit from each red, green, and blue channel, which provides about three bits per pixel. It reserves 12 bytes for a format marker, message length, and checksum. The live byte meter shows the exact remaining capacity for your image.

Can someone see that the image contains hidden text?

The pixel changes are normally invisible to the eye because each used color channel changes by at most one value out of 256. However, steganalysis can detect patterns in basic LSB encoding. Treat this as concealment for learning or low-risk sharing, not proof that a message is undetectable.

Does steganography encrypt my message?

No. This tool hides the message but does not encrypt it. Anyone with a compatible decoder can read the text if they obtain the encoded PNG. Encrypt sensitive information with a trusted encryption tool before placing the ciphertext in an image.

Why does the result always download as PNG?

PNG stores pixel values losslessly, so the low bits carrying the message survive the export. JPG and lossy WebP change pixel values during compression. Converting the result to those formats, resizing it, applying a filter, or taking a screenshot may destroy the payload.

Can I hide emoji or text in other languages?

Yes. The message is encoded as UTF-8, so it supports emoji and writing systems such as Japanese, Arabic, and Cyrillic. These characters may use multiple bytes, so the byte meter can rise faster than the visible character count.