A seventeenth-century French locket, open, with a small painted portrait inside A nineteenth-century photograph of a young woman holding an open daguerreotype case William Harnett's painting The Artist's Letter Rack: letters and cards held in a pink ribbon frame

Your Instagram chats, voice notes and posts, kept on your own computer.

Kept

People have always kept what matters close: a face in a locket, a photograph in a velvet case, letters held in a rack.

Now it lives in chats. The first message from someone you love, a grandparent's voice note, the photos from a trip. On Instagram it is one deleted account away from gone.

Kept saves it to your computer, in the format Instagram itself uses for its data download, with a page you can read without an internet connection.

It runs only in your browser, with the Instagram session you already have. No account, no password, no server of ours. Try it below.

What it keeps

  • messages/inbox/ana_1784…
  • message_1.json
  • chat.txt
  • photos 48
  • videos 6
  • audio 11

Chats, whole

Every message, reaction, call and shared post, with the photos, videos and voice notes saved as real files.

The JSON matches Instagram's own export, so tools that read that format read this too. A plain chat.txt comes with it.

  • AnaToday
  • FamilyYesterday
  • Sam · requestOct 12

One chat, or every chat

Pick conversations from your list, message requests included, or take the whole inbox in one go. No scrolling through each one.

Set a From and To date to keep just a season of it.

Read it offline

Open index.html and the chat looks like a chat again: bubbles, days, photos inline, voice notes that play.

Search every message, jump to a date, show only photos or voice notes, or browse all the media at once.

  • Instagram/nasa/posts
  • 2026-10-30_DfH-Y3JugI4/01.jpg
  • 2026-10-30_DfH-Y3JugI4/caption.txt
  • Instagram/nasa/reels
  • 2026-10-26_DeXk2Lr9QpA.mp4

Posts, reels, stories, highlights, and what you saved

From any public account, or a private one you follow: every post with its caption, every reel, today's stories, each highlight in its own folder.

Your own saved posts too, by collection. Everything, the latest few, or a date range.

  • Save as files in a folder, not a ZIP
  • Only what I haven't downloaded yet
  • File names {username}_{date}_{code}

Big, and only what's new

Save straight into a folder with no size limit. Next time, download only what is new since the last run.

If an export stops halfway, run it again and it carries on where it left off.

Ana

Friday 31 October

    You talk. It's kept.

    Three clicks

    Open the chat on instagram.com.

    Any conversation, in Chrome, Brave or Edge, logged in as usual.

    Then click Start, and Auto-scroll.

    Kept reads the chat from Instagram's own API as it scrolls back to the first message.

    Finally, Export. It's on your computer.

    A ZIP, or a folder, with every message, photo and voice note, and a page to read it on.

    Where it goes

    It talks to

    instagram.com

    cdninstagram.com

    fbcdn.net

    fbsbx.com

    It never uses

    A server of ours

    Your password

    Analytics

    Ads or trackers

    Remote code

    It keeps

    Your files, on your disk

    Your export options

    Which posts you saved

    You can check

    Every line of code

    The privacy notes

    The MIT licence

    Instagram check Oct 31, 2026

    • Chats with their media
    • Several chats and the inbox
    • Posts, images and reels
    • Stories
    • Highlights
    • Profile picture
    • One post or reel
    • Folders, only new, resume
    • Your saved posts
    • Tagged posts and your archive
    • Followers and following
    • Save button and best quality
    • Evidence mode and comments
    • Choosing what to export

    Working today

    Instagram changes its private API without notice. Every release is tested end to end against live Instagram, and the popup's Check Instagram button tests your own setup in about ten seconds.

    • Chats with their mediaWorking · Oct 31

      Every message in a chat, with photos, videos and voice notes as files, and the offline page to read it.

    • Several chats and the inboxWorking · Oct 31

      Pick chats from your list, or every chat in your inbox and message requests, with an optional date range.

    • Posts, images and reelsWorking · Oct 31

      Everything on a profile, the latest few, the oldest, or a date range, each post with its caption.

    • StoriesWorking · Oct 31

      The stories an account has up right now, before they disappear.

    • HighlightsWorking · Oct 31

      Every highlight in its own folder, or just the one you have open.

    • Profile pictureWorking · Oct 31

      The full-size picture, saved as it is.

    • One post or reelWorking · Oct 31

      The post or reel open in your tab, including private ones you follow.

    • Folders, only new, resumeWorking · Oct 31

      Files straight into a folder with no size limit, skipping what you saved before.

    • Your saved postsWorking · Oct 31

      All your saved posts, one collection or every collection, each post with its author, link, date and caption.

    • Tagged posts and your archiveWorking · Oct 31

      Posts an account is tagged in, your own archived stories by month, and highlight covers.

    • Followers and followingWorking · Oct 31

      Your followers and following as CSV, with who doesn't follow back and who followed or unfollowed since last time.

    • Save button and best qualityWorking · Oct 31

      A save button on photos and videos on instagram.com, videos up to 1080p with sound, and images as JPG.

    • Evidence mode and commentsWorking · Oct 31

      A SHA-256 for every file, one fingerprint, usernames, timezone and an export log; and each post's comments.

    • Choosing what to exportWorking · Oct 31

      A grid of an account's posts or highlights: tick the ones you want, export only those, and browse them offline in a gallery.

    Install it

    1. Download the latest release from GitHub and unzip it.
    2. Open chrome://extensions (or brave://extensions, edge://extensions).
    3. Turn on Developer mode, top right.
    4. Click Load unpacked and choose the unzipped folder.
    5. Pin Kept, open instagram.com, and click the ring.

    A Chrome Web Store listing is on the way. Until then this is the whole install; updates are a new download and one click on the reload arrow.

    It's free, open source, and takes about a minute to set up.

    Download Kept 4.9.0 Read the source

    Questions

    Is it free? Yes, and open source under the MIT licence. There is no paid version and nothing to sign up for.

    Does it need my Instagram password? No. It uses the session you are already logged in with on instagram.com, the way the Instagram website does. It never sees your password.

    Does anything get sent to you? No. There is no server. The only traffic is between your browser and Instagram's own servers.

    Can I save my whole inbox? Yes. Click Several chats, or the whole inbox, pick Inbox and Message requests, and tick Every chat.

    Does it keep photos and voice notes? Yes, as real files beside the messages, fetched while Instagram's links are still valid. Untick the option for a quick text-only export.

    How do I read a saved chat? Unzip it and open index.html in any browser. It works offline, with search, dates, filters and a gallery.

    Can I keep only some dates? Yes. Set From and To before exporting, for one chat or many.

    Can I download only new posts? Yes. Tick Only what I haven't downloaded yet. Kept remembers what each export saved, per account.

    What about private accounts? You can save what your account can already see: public accounts, and private ones you follow.

    Will Instagram mind? Kept uses your normal session and paces its requests a little under a second apart, waiting when Instagram asks it to slow down. It reads; it never posts, likes or follows.

    Which browsers? Chrome, Brave, Edge and other Chromium browsers on a computer, and Firefox 140 or later (new, from the release page). Not Safari or phones yet. The interface speaks English, Bangla, Arabic and Spanish.

    Something broke? Click Check Instagram in the popup or the Export Center, then Report a problem. It opens a GitHub issue with the details filled in, usernames removed, for you to review.