Skip to content

A comprehensive, professional tool for bidirectional conversion between image files and base64-encoded HTML format, with a web-based GUI or terminal hosted command functions.

License

Notifications You must be signed in to change notification settings

KCoderVA/Base64_ImageConverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔄 Base64 Image Converter

A simple, powerful tool for converting images to base64-encoded HTML format and vice versa.

Perfect for embedding images directly into HTML emails, web pages, or documents without external file dependencies.

Python 3.6+ License: AGPL v3 GitHub Release

✨ Features

  • 🔄 Bidirectional Conversion: Images ↔ Base64 HTML format
  • 🌐 Dual Interface Options: Desktop Python GUI + Professional Web-based GUI
  • 📁 Batch Processing: Convert multiple files at once
  • 📱 Cross-Platform: Works on Windows, macOS, Linux, mobile devices
  • 🎨 User-Friendly: No technical knowledge required
  • 🔧 Format Support: PNG, JPEG, GIF, BMP, WebP image formats
  • 🚀 Zero-Installation Option: Web version requires no setup
  • 🔒 Privacy Focused: All processing happens locally
  • 📊 Professional Reports: Comprehensive conversion documentation

🚀 Quick Start (3 Steps!)

1. Download This Repository

  • Click the green "Code" button above → "Download ZIP"
  • Extract the zip file to your desired location

2. Run Setup (One Time Only)

Double-click on: setup.py

This will automatically check your Python installation and guide you through any needed setup.

3. Launch the Application

Double-click on: LAUNCH_GUI.py

The web interface will open in your browser automatically.

🌐 Web-Based GUI (No Installation Required!)

NEW: For users who prefer not to install Python or want instant access, we now offer a professional web-based version:

📍 Location: web-based_SimplifiedGUI/LAUNCH_SimplifiedGUI.html

Features of Web Version:

  • 🚀 Zero Installation: Double-click the HTML file - no Python needed!
  • 🎨 Professional Interface: Full-featured GUI matching the desktop version
  • 📱 Universal Compatibility: Works on any device with a modern browser
  • 🔒 Secure: All processing happens locally - no data uploaded
  • ⚡ Full Features: Complete bidirectional conversion capabilities
  • 📊 Professional Reports: Comprehensive HTML reports with metadata

When to Use Each Version:

Feature Desktop (Python) Web-Based
Installation Python required None - just open HTML
Platform Windows/Mac/Linux Any device with browser
File Access Full file system Browser downloads
Performance System native Browser optimized
Best For Power users, developers Quick use, restricted systems

💡 Tip: Try the web version first! If you need advanced features or prefer desktop integration, use the Python version.

💻 How to Use

  1. Launch the app by double-clicking LAUNCH_GUI.py
  2. Drag and drop your image files onto the web interface
  3. Click Convert to process your files
  4. Download the converted files from the results panel

Converting Images to Base64

  • Drop .png, .jpg, .gif, or .bmp files
  • Get .txt files with HTML-ready base64 code

Converting Base64 to Images

  • Drop .txt files containing base64 data
  • Get back your original image files

📁 What's In This Package

  • README.md - This instruction file
  • SETUP.py - One-time setup installer
  • LAUNCH_GUI.py - Application launcher (Python version)
  • LICENSE - AGPL v3 License terms
  • web-based_SimplifiedGUI/ - Professional web-based GUI (no installation required)
  • project/ - Technical files and documentation

📁 Project Structure

Root Directory (End Users): Simple, clean files for non-technical users

  • LAUNCH_GUI.py - Double-click to start the Python desktop application
  • setup.py - One-time setup checker for Python version
  • README.md - This documentation
  • LICENSE - AGPL v3.0 license
  • web-based_SimplifiedGUI/ - Professional web-based GUI (no Python required)
  • .gitignore - Git configuration (for developers)

Web-Based GUI Directory: Zero-installation professional interface

  • web-based_SimplifiedGUI/LAUNCH_SimplifiedGUI.html - Professional web-based converter
  • web-based_SimplifiedGUI/web-based_README.md - Web version documentation

Project Directory (Developers): All development tools and advanced features

  • project/base64_image_converter/ - Core application package
  • project/docs/ - Comprehensive documentation
  • project/build/ - Build and deployment tools

See project/docs/PROJECT_STRUCTURE.md for complete details.

🆘 Troubleshooting

Problem: Setup fails or launcher doesn't work
Solution: Make sure you have Python 3.6+ installed on your system

Problem: Web interface doesn't open
Solution: Try running SETUP.py again, then LAUNCH_GUI.py

Problem: Can't convert certain files
Solution: Make sure your images are in PNG, JPEG, GIF, or BMP format

📧 Support

Having issues? Check the detailed documentation in the project/docs/ folder or visit: https://github.com/KCoderVA/Base64_ImageConverter/issues

⚖️ License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL v3) - see the LICENSE file for details.

Key License Information:

The AGPL v3 license ensures that this software remains free and open source, including when used in network services. If you modify this software and use it in a service accessible over a network, you must provide the source code to users of that service.


Made with ❤️ for easy image conversion

No complicated installation, no technical setup required - just download, run setup once, and start converting!

⚖️ Project File Structure

Base64_ImageConverter Project Structure

\Base64_ImageConverter
│ .gitignore │ LAUNCH_GUI.py │ LICENSE │ README.md │ requirements.txt │ setup.py │ └───project │ MANIFEST.in │ pyproject.toml │ requirements.txt │ setup.py │ ├───base64_image_converter │ Base64_Converter_GUI.html │ convertIMAGE_script.py │ launch_gui.py │ web_bridge.py │ init.py │ ├───build │ build_and_test.py │ release_manager.py │ upload_to_github.py │ validate_project.py │ ├───docs │ CHANGELOG.md │ CONTRIBUTING.md │ GITHUB_PUBLICATION_GUIDE.md │ INSTALL.md │ PROJECT_STATUS.md │ QUICK_START_GUIDE.md │ README_TECHNICAL.md │ RELEASE_CHECKLIST.md │ ├───Inputs │ README.md │ └───Outputs README.md


📊 Complete Project Analysis & Metrics

🎯 Project Overview

Name: Base64 Image Converter
Author: Kyle J. Coder
Organization: Advanced Analytics & Informatics, Edward Hines Jr. VA Hospital (v12/578), Veterans Health Administration, Department of Veterans Affairs
License: GNU Affero General Public License v3.0 (AGPL v3)
Version: 1.2.2
Purpose: Bidirectional conversion tool for images ↔ base64 HTML format

📈 Project Metrics & Demographics

📁 File Structure

  • Total Files: 30
  • Total Directories: 6
  • Total Project Size: 0.26 MB (267,418 bytes)

💻 Code Statistics

Language Files Lines Percentage
Python 11 1,979 40.7%
HTML 1 1,302 26.8%
Markdown 12 1,601 32.9%
Other 6 208 4.3%
TOTAL 30 4,882 100%

🔧 Code Breakdown

  • Python Code: 1,979 lines (core functionality)
  • JavaScript: ~656 lines (embedded in HTML for web interface)
  • CSS: ~900 lines (embedded in HTML for styling)
  • Documentation: 1,601 lines (comprehensive project docs)
  • Configuration: 208 lines (setup, requirements, manifests)

📂 File Type Distribution

📄 Markdown Files:     12 files (40.0%) - Documentation
🐍 Python Files:       11 files (36.7%) - Core application
📋 Text Files:          2 files (6.7%)  - Requirements
🌐 HTML Files:          1 file  (3.3%)  - Web interface
⚙️ Config Files:        4 files (13.3%) - Project setup

🏗️ Architecture & Components

🎯 Core Application (Python)

  1. convertIMAGE_script.py (644 lines) - Main conversion engine
  2. web_bridge.py (484 lines) - HTTP server for web interface
  3. launch_gui.py (98 lines) - GUI launcher module
  4. LAUNCH_GUI.py (68 lines) - User-friendly entry point

🌐 Web Interface (HTML/CSS/JavaScript)

  • Base64_Converter_GUI.html (1,302 lines) - Complete web application
    • Modern responsive design with drag-and-drop functionality
    • Real-time conversion progress tracking
    • Interactive file selection and batch processing
    • Professional UI with animations and status indicators

🔧 Build & Development Tools

  1. build_and_test.py (132 lines) - Build automation
  2. release_manager.py (102 lines) - Version management
  3. upload_to_github.py (107 lines) - GitHub deployment
  4. validate_project.py (187 lines) - Project validation

📚 Documentation Suite

  1. README.md (116 lines) - Main project documentation
  2. CONTRIBUTING.md (236 lines) - Contribution guidelines
  3. CHANGELOG.md (361 lines) - Version history with detailed entries
  4. README_TECHNICAL.md (249 lines) - Technical documentation
  5. INSTALL.md (84 lines) - Installation instructions
  6. PROJECT_STATUS.md (179 lines) - Current project status
  7. QUICK_START_GUIDE.md (68 lines) - User quick start guide

Core Functionality Analysis

🔍 Python Functions

  • Total Functions: 21+ defined functions
  • Classes: 1 main class (ConversionHandler)
  • Key Modules: Base64 encoding/decoding, file I/O, image processing, HTTP server

🌐 JavaScript Functions

  • Total Functions: 21+ JavaScript functions
  • Key Features: File handling, drag-and-drop, progress tracking, UI management

🎨 User Interface Features

  • Collapsible information panel with project details
  • Drag-and-drop file processing with visual feedback
  • Real-time progress tracking with animated indicators
  • Custom output destination selection via File System Access API
  • Professional header navigation with GitHub/docs links
  • Comprehensive help system and error handling

🌟 Supported Features

📸 Image Formats

  • Input: PNG, JPEG, GIF, BMP image files
  • Output: Base64-encoded HTML format with embedded images

🔄 Conversion Modes

  1. Images → Base64 HTML: Convert image files to embeddable HTML
  2. Base64 HTML → Images: Extract images from base64-encoded content
  3. Auto-detection: Automatically determines conversion direction
  4. Batch processing: Handle multiple files simultaneously

🖥️ Platform Support

  • Cross-platform: Windows, macOS, Linux
  • Python 3.6+ compatibility
  • Modern web browsers with HTML5 support
  • Desktop integration via Electron (optional)

📊 Project Complexity Metrics

🔧 Technical Complexity

  • High: Comprehensive web interface with advanced JavaScript
  • Medium: Python backend with HTTP server integration
  • Professional: Enterprise-grade documentation and build tools

👥 User Experience

  • Beginner-friendly: Simple double-click launcher for end users
  • Developer-ready: Complete build and deployment toolkit
  • Professional: Comprehensive documentation and contribution guidelines

📈 Maintainability

  • Excellent: Well-organized file structure
  • Comprehensive: 32.9% of project is documentation
  • Professional: Full AGPL v3 licensing and contribution framework

🎯 Unique Value Propositions

🏥 Healthcare/VA Context

  • Developed for Veterans Health Administration clinical analytics
  • Professional medical informatics application
  • Secure local processing (no data uploaded to external services)
  • AGPL v3 ensures continued open-source availability

🔧 Technical Advantages

  • Zero external dependencies (uses Python standard library)
  • Bidirectional conversion (rare in similar tools)
  • Professional web interface with modern UX/UI
  • Complete documentation suite for users and developers
  • Automated build and deployment tools

👨‍💼 Professional Features

  • Enterprise-ready licensing (AGPL v3)
  • Comprehensive documentation (1,601 lines)
  • Professional project structure optimized for GitHub
  • Build automation and validation tools
  • Version management and release procedures

📋 Project Maturity Indicators

Complete Documentation Suite
Professional Licensing (AGPL v3)
Automated Build Tools
Comprehensive Testing Framework
User-Friendly Installation
GitHub-Ready Structure
Cross-Platform Compatibility
Modern Web Interface
Enterprise-Grade Code Organization
Detailed Changelog and Version History

🎉 Project Summary

This is a professional-grade, enterprise-ready software project with:

  • 4,882 total lines of code and documentation
  • 30 files across 6 directories
  • Comprehensive functionality for bidirectional image/base64 conversion
  • Modern web interface with advanced UX/UI features
  • Complete documentation suite for users, developers, and contributors
  • Professional development tools for build, test, and deployment
  • Healthcare/VA origin with enterprise-grade licensing and structure
  • GitHub-ready presentation optimized for professional open-source distribution

The project represents a complete software solution with production-ready code, comprehensive documentation, professional tooling, and enterprise-grade organization suitable for immediate GitHub publication and professional use.


Development Methodology: Intensive iterative development with continuous testing, refactoring, and enhancement. The project evolved through multiple major versions, each building comprehensive functionality while maintaining professional standards throughout the development lifecycle.

About

A comprehensive, professional tool for bidirectional conversion between image files and base64-encoded HTML format, with a web-based GUI or terminal hosted command functions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published