Twitter Vault allows you to take control of your data. It imports your backed-up tweets (JSON/JSONL), stores them locally in your browser using IndexedDB, and provides a beautiful interface to browse your history without algorithms or internet tracking.
- 100% Private: No servers. No APIs. Your data never leaves your device.
- Activity Insights: GitHub-style contribution graph to visualize your bookmarking habits over the years.
- Multiple Views:
- Grid: Standard card view.
- Gallery: Masonry layout optimized for artists and media collectors.
- List: Compact, data-dense view for reading.
- Powerful Search: Instant full-text search across tweet content and author handles.
- Organizer: Group tweets by Author to see everything you've saved from a specific user.
- Media Viewer: Built-in lightbox to view high-res images and carousels.
- Data Management:
- Import bookmarks/likes.
- Export to
.json,.jsonl, or.csv. - Soft delete unwanted items.
- Download a zip copy of saved bookmarks from a specific profile.
- Framework: React (Vite)
- Language: TypeScript
- Styling: Tailwind CSS (v4)
- Database: Dexie.js (IndexedDB wrapper)
- Icons: Lucide React
- Utils: Date-fns, JSZip
- Node.js (v18 or higher)
- npm or yarn
git clone https://github.com/keneji404/twitter-vault.git
cd twitter-vault
npm install
npm run dev
This app is designed to work best with bookmark exporters that provide a clean .json / .jsonl file, I recommend Twitter Web Exporter or Twillot.
- Install the browser extension Tampermonkey.
- Download the latest Twitter Web Exporter here.
- Open Tampermonkey's dashboard through browser extension menu.
- Drag and drop the
.jsfile into the dashboard and click install. - Open your Twitter bookmarks/likes page and it will start fetching automatically.
- Install the browser extention Twillot.
- Open Twillot's dashboard through browser extension menu (it will take you to a new page).
- Click "skip" and finish the tutorial.
- Click "Login to Twitter".
- Click "Continue", it will automatically fetch bookmarks (if stuck, just click retry).
- Click "Sync Bookmarks" and click "Start". (may take long depending of amount).
- After fetching all bookmarks, close the side bar.
- You can directly export your data by clicking download button but may not work in free tier, so we have to use the backup feature instead.
- Click the little yellow warning button "
⚠️ " on the left side menu and click "Backup". - After downloading, open the zip file and extract the
posts.jsonlfile and import it to Twitter Vault.
- Export your Bookmarks or Likes as a
.jsonor.jsonlfile. - Open Twitter Vault.
- Click the Import button in the top right.
- Select your file. The app will process the data and store it in your browser.
- Use the Search Bar to find specific text.
- Toggle between Bookmarks and Likes using the tabs.
- Click the Layout Icons (Grid, List, Gallery) to change how tweets are displayed.
- Click "Authors" to see a leaderboard of who you bookmark the most.
- Export: Click the "Export" button to save a clean backup of your current database. This includes any items you've deleted or organized.
- Reset: Use the "Reset Database" button to wipe the local storage and start fresh.
- Bulk selector feature (manage multiple items)
- Import User likes and view statistics
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project.
- Create your feature branch
git checkout -b feature/someFeature. - Commit your changes
git commit -m 'added someFeature'. - Push to the branch
git push origin feature/someFeature. - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.