Skip to content

RM26AA/Image_Encoder_Decoder_2025

Repository files navigation

LSB Steganography Web App

A browser-based steganography tool that exactly replicates a Python LSB implementation for hiding and extracting secret text messages in images.
All processing happens locally in the browser — no data is uploaded to any server.

✨ Features

  • Exact Python compatibility — bit-for-bit match with the reference Python code
  • Encode text messages into PNG images using Least Significant Bit (LSB) manipulation
  • Decode hidden messages from images created with this app or the Python script
  • Fully client-side — secure, offline-capable
  • Modern UI — gradient themes, animations, responsive design

🛠 Technical Details

  • Pixel traversal order: column-major (x outer loop, y inner loop)
  • Channels used: R, G, B (alpha is untouched)
  • Delimiter: 1111111111111110 marks the end of the message
  • Encoding: 8-bit binary per character (ord(c) equivalent in JavaScript)
  • Built with Next.js, React, and Tailwind CSS

📂 Project Structure

src/
├─ lib/
│ └─ steganography.ts # Core encode/decode functions
├─ pages/
│ └─ index.tsx # Main UI

🚀 Getting Started

1. Clone the repository

git clone https://github.com/your-username/lsb-steganography-web.git
cd lsb-steganography-web

2. Install dependencies

npm install

3. Run the development server

npm run dev

📖 Usage

  1. Go to the Encode tab.
  2. Upload an image (PNG recommended).
  3. Enter your secret text message.
  4. Download the encoded image.
  5. To decode, switch to the Decode tab, upload the encoded image, and view the recovered message.

🐍 Python Compatibility

This app matches the behavior of the following Python implementation:

Pixel loop: for x in range(width): for y in range(height):
Channels: R, G, B only
Delimiter: '1111111111111110'
  • Messages encoded with the Python script will decode correctly here, and vice versa.

📜 License

MIT License — free to use, modify, and distribute.

Lovable project

Project info

URL: https://lovable.dev/projects/c401ea90-d236-4fda-97bd-8698cb25a02c

How can I edit this code?

There are several ways of editing your application.

Use Lovable

Simply visit the Lovable Project and start prompting.

Changes made via Lovable will be committed automatically to this repo.

Use your preferred IDE

If you want to work locally using your own IDE, you can clone this repo and push changes. Pushed changes will also be reflected in Lovable.

The only requirement is having Node.js & npm installed - install with nvm

Follow these steps:

# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>

# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>

# Step 3: Install the necessary dependencies.
npm i

# Step 4: Start the development server with auto-reloading and an instant preview.
npm run dev

Edit a file directly in GitHub

  • Navigate to the desired file(s).
  • Click the "Edit" button (pencil icon) at the top right of the file view.
  • Make your changes and commit the changes.

Use GitHub Codespaces

  • Navigate to the main page of your repository.
  • Click on the "Code" button (green button) near the top right.
  • Select the "Codespaces" tab.
  • Click on "New codespace" to launch a new Codespace environment.
  • Edit files directly within the Codespace and commit and push your changes once you're done.

What technologies are used for this project?

This project is built with:

  • Vite
  • TypeScript
  • React
  • shadcn-ui
  • Tailwind CSS

How can I deploy this project?

Simply open Lovable and click on Share -> Publish.

Can I connect a custom domain to my Lovable project?

Yes, you can!

To connect a domain, navigate to Project > Settings > Domains and click Connect Domain.

Read more here: Setting up a custom domain

About

This project is a browser-based LSB (Least Significant Bit) steganography tool that exactly mirrors a Python implementation. It lets you securely hide and extract text messages inside images entirely client-side, preserving bit-order and pixel traversal for perfect cross-compatibility.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors