Jasper
jasper Instagram → Grain & Spark
web v0.3.1 -- cli v0.5.2
Back

About Jasper

Jasper imports your Instagram photos to Grain or Spark while preserving original timestamps.

How it works

  1. 1
    Export

    Download your Instagram data as JSON from their download page.

  2. 2
    Upload

    Drag your ZIP file or extracted folder into the import tool.

  3. 3
    Authenticate

    Sign in with your AT Protocol identity via OAuth.

  4. 4
    Import

    Photos are uploaded directly to Grain or Spark with original timestamps.

Privacy

Everything runs in your browser. Your Instagram export and photos are processed locally and uploaded directly to your own AT Protocol account via your PDS. No data is sent to any intermediate server.

If you sign in via OAuth, Jasper also creates a record in your own repository using the click.croft.toolkit.use lexicon each time you perform an import. This record contains the number of photos imported and a timestamp, helping you track your activity across the croft.click suite.

No cookies, no local storage, no fingerprinting.

What's imported

Not imported: Reels. Videos and stories are not supported by Grain.

Getting your Instagram export

  1. 1

    Open Instagram (app or web browser) and go to your profile

  2. 2

    Tap the menu () → Settings → Accounts Center

  3. 3

    Select "Your information and permissions" → "Export your information"

  4. 4

    Choose "Export to device", select JSON format, and confirm with your password

  5. 5

    Wait for the email notification (can take hours to days) and download the ZIP file

OAuth Scope

Jasper requests minimal permissions based on your target platform:

Grain:

atproto blob:*/* repo:social.grain.photo repo:social.grain.gallery repo:social.grain.gallery.item repo:click.croft.toolkit.use

Spark:

atproto blob:*/* repo:so.sprk.feed.post repo:so.sprk.story.post repo:click.croft.toolkit.use

This allows uploading photos as blobs, writing to the relevant collections, and logging tool usage. Your Bluesky profile is read directly from your PDS.

Source

Jasper is open source: github.com/ewanc26/pkgs