paschmann / SocialImport

Repository from Github https://github.compaschmann/SocialImportRepository from Github https://github.compaschmann/SocialImport

Instagram Media Converter

A native macOS application built with SwiftUI to parse and enhance Instagram export data.

Features

πŸ” Instagram Data Parsing

  • Parses Instagram export HTML files to extract post metadata
  • Supports photos and videos from Instagram exports
  • Extracts captions, timestamps, GPS coordinates, and tagged users
  • Preserves existing camera EXIF data

πŸ“ EXIF Enhancement

  • GPS Coordinates: Adds location data from Instagram posts to EXIF
  • Captions: Embeds Instagram captions as EXIF comments
  • Timestamps: Updates photo dates to match Instagram post dates
  • Camera Metadata: Preserves original camera settings and device info

βš™οΈ Conversion Options

  • Output Formats: JPEG, HEIC, or preserve original format
  • Folder Structure: Option to preserve Instagram's date-based organization
  • Video Support: Copies video files (EXIF modification not supported for videos)
  • Non-destructive: Never modifies original files in the input folder

🎯 User Experience

  • Folder Selection: Easy input/output folder picker
  • Preview Mode: See exactly what will be converted before processing
  • Progress Tracking: Real-time conversion progress with status updates
  • Sandboxed: Secure macOS app with proper entitlements

How to Use

  1. Export your Instagram data from Instagram's settings
  2. Open the app and select your Instagram export folder as input
  3. Choose an output folder where converted files will be saved
  4. Configure options (GPS, captions, timestamps, etc.)
  5. Preview a sample of your posts to verify the conversion
  6. Start conversion and watch the progress

Instagram Export Structure

The app expects the standard Instagram export format:

instagram-export-folder/
β”œβ”€β”€ your_instagram_activity/
β”‚   └── content/
β”‚       └── posts_1.html          # Post metadata
β”œβ”€β”€ media/
β”‚   β”œβ”€β”€ posts/
β”‚   β”‚   β”œβ”€β”€ YYYYMM/               # Photos organized by date
β”‚   β”‚   └── ...
β”‚   └── stories/                  # Story content
└── ...

Build Requirements

  • Xcode 15.0 or later
  • macOS 13.0 or later
  • Swift 5.9 or later

Building

  1. Open InstagramConverter.xcodeproj in Xcode
  2. Build and run (⌘+R)

The app is configured with proper sandboxing entitlements for file access.

Example Output

After conversion, your photos will have:

  • GPS coordinates embedded in EXIF (if available in Instagram data)
  • Instagram captions as EXIF comments
  • Correct timestamps matching when you posted to Instagram
  • Original camera metadata preserved
  • Organized structure (optional) matching Instagram's date folders

Privacy & Security

  • Sandboxed: The app runs in macOS sandbox for security
  • Local Processing: All data processing happens locally on your Mac
  • No Network Access: No data is sent to external servers
  • Read-Only Input: Original Instagram export files are never modified

Technical Details

Built with:

  • SwiftUI for the user interface
  • Core Location for GPS coordinate handling
  • Image I/O for EXIF metadata manipulation
  • Foundation for file system operations

The app parses Instagram's HTML export format and correlates media files with their metadata to create enhanced versions with proper EXIF data.

About


Languages

Language:Swift 100.0%