Self-hosted Tools

Init Local Uploader – A simple, self-hosted image uploader for your own server

Init Local Uploader is a lightweight, self-hosted image upload tool developed by Init HTML. Unlike Init Uploader (which acts as an S3-style API endpoint), this tool provides a clean web interface for uploading images directly to your own server — no API keys, no SDKs, and no cloud dependencies. All images are processed and stored locally, keeping your content fully private and under your control.

Init Local Uploader – A simple, self-hosted image uploader for your own server

Main Features

Init Local Uploader brings fast, secure, and flexible image uploading to your server:

  • User-friendly interface: Simple web UI – log in, select files, and click “Upload & Generate HTML”.
  • Fully self-hosted: No third-party services; files are saved directly inside your uploads/ folder.
  • Multiple uploads: Upload multiple images at once to streamline content workflows.
  • Custom folders: Organize uploads into folders, e.g. 2025/gallery/.
  • WebP conversion: Optionally convert images to WebP for smaller file sizes and faster loading.
  • Automatic resizing: Resize images by maximum width to optimize website performance.
  • Instant HTML output: Automatically generates <img> tags with width, height, and loading="lazy" attributes.
  • Saved preferences: All settings (ALT, WebP, quality, folder path, etc.) are remembered via LocalStorage.

Version Information

  • Version: 1.0.3
  • Updated: 2025-12-02

System Requirements

  • PHP: Version 7.4 or higher (PHP 8+ recommended).
  • Extensions: Requires gd for image processing and fileinfo for MIME validation.
  • Write permissions: The uploads/ folder must be writable (chmod 755 or 775).
  • Browser: Works best on Chrome, Firefox, and Edge.

Installation & Configuration

After downloading the init-local-uploader.php file, simply follow these steps:

  1. Upload the file to your server (example: https://your-domain.com/init-local-uploader.php).
  2. Open the file in your browser — the login screen will appear.
  3. Log in using the credentials defined at the top of the file:
define('USERNAME', 'admin');
define('PASSWORD', 'Admin@123'); // Supports both plain text or password_hash
  1. Choose your images, configure optional settings (custom folder, resize, quality, WebP, etc.), then click “Upload & Generate HTML”.
  2. Copy the generated HTML and paste it into your article, website, or CMS.

To create a strong password or generate a valid password_hash for PHP authentication, use the official tool Init Password Generator.

HTML Output Example

Init Local Uploader automatically generates valid HTML markup with dimensions and lazy loading:

<img src="https://your-domain.com/uploads/2025/image.webp" 
     alt="Sunset - Image 1" 
     width="1200" 
     height="800" 
     loading="lazy"
     decoding="async">
  • If you enter an ALT text → output will be Sunset - Image 1, Sunset - Image 2, etc.
  • If ALT is empty → output will be Image 1, Image 2, etc.

The first image is not lazy-loaded; all subsequent ones include loading="lazy" for better performance.

Security & Storage

  • All files are stored locally under the /uploads directory.
  • Login protection with username and password.
  • No data is sent or stored externally — fully offline and private.
  • Lightweight design, no heavy JavaScript frameworks.

Quick Tips

  • Place the uploader inside a dedicated folder like /tools/ or /admin/.
  • You can rename the file to uploader.php for shorter URLs.
  • Bookmark it in your browser for quick access.
  • Works perfectly on local environments (XAMPP, Laragon) without an internet connection.

Init Local Uploader – A simple, self-hosted image uploader for your own server

Example Workflow

  1. Open https://your-domain.com/init-local-uploader.php
  2. Log in.
  3. Select 5 PNG images and enter ALT text “Blog Cover”.
  4. Set resize to 1280px, enable WebP, and choose quality 90%.
  5. Click “Upload & Generate HTML”.
  6. Copy the generated code:
<img src="https://your-domain.com/uploads/2025/blog-cover_1.webp" alt="Blog Cover - Image 1" width="1280" height="720">
<img src="https://your-domain.com/uploads/2025/blog-cover_2.webp" alt="Blog Cover - Image 2" width="1280" height="720" loading="lazy" decoding="async">

Advantages over Cloud Uploaders

Criteria Cloud service (AWS, Cloudinary, Wasabi) Init Local Uploader
Third-party dependency Yes No
Data privacy Risk of exposure Fully private
Configuration complexity High Minimal
Upload via API Required Not needed
Visual interface Limited Built-in
Cost May incur charges Completely free

Folder Structure Example

/init-local-uploader.php
/uploads/
    ├── 2025/
    │   ├── image_1.webp
    │   ├── image_2.webp
    │   └── image_3.webp

Technical Notes

  • Supported formats: jpg, jpeg, png, gif, webp.
  • Configurable resize width, compression quality, and folder path.
  • Easily extendable — add watermarking, generate thumbnails, or optimize images via GD or Imagick.

Init Local Uploader is the perfect solution for developers and content creators who want a fast, secure, and fully self-hosted image uploader. No dependencies, no API keys — just upload, copy, and use instantly.

5.0/5 (2)

Comments


  • No comments yet.

Web-Based Tools

Press Ctrl + \ on desktop, or swipe left anywhere on mobile.

Login