explaingit

omnivore-app/omnivore

Analysis updated 2026-06-24

16,062TypeScriptAudience · developerComplexity · 4/5Setup · hard

TLDR

Self-hosted read-it-later app. Save articles, newsletters, and PDFs, then highlight, tag, and search them across web, mobile, and browser extensions.

Mindmap

mindmap
  root((omnivore))
    Inputs
      Web pages
      Newsletter emails
      PDFs
      Browser extensions
    Outputs
      Reading list
      Highlights and notes
      Tags and search
      Logseq and Obsidian sync
    Use Cases
      Self-host a Pocket replacement
      Capture newsletters by email
      Feed reading into notes
    Tech Stack
      TypeScript
      Next.js
      Postgres
      Docker
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Self-host a personal read-it-later service on your own server

USE CASE 2

Forward newsletter emails into a private reading inbox

USE CASE 3

Pipe saved articles and highlights into Logseq or Obsidian notes

What is it built with?

TypeScriptNext.jsNode.jsPostgresDockerSwiftKotlin

How does it compare?

omnivore-app/omnivorejavascript-obfuscator/javascript-obfuscatorumijs/umi
Stars16,06216,03116,024
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardeasyeasy
Complexity4/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Cloud service was shut down in Nov 2024 so you must run Postgres, web, API, and puppeteer-parse services yourself.

In plain English

Omnivore is an open-source "read-it-later" app, a tool that lets you save articles, newsletters, PDFs, and web pages to read at your own pace, without ads or distractions. Think of it like a personal reading inbox where you clip things from the internet and come back to them when you have time. The app supports highlighting and annotating text, adding labels (tags), full-text search across everything you've saved, and sharing. It also saves your reading position automatically so long articles pick up where you left off. You can add newsletter content by forwarding emails directly to Omnivore, and it supports PDFs. It is available as a web app, native iOS and Android apps, and browser extensions for Chrome, Safari, Firefox, and Edge. There are also plugins for Logseq and Obsidian (popular note-taking tools) so saved articles can feed directly into your notes. Omnivore was originally a hosted cloud service but as of November 2024 it is fully self-hosted only, meaning you run it on your own server rather than relying on a third-party service. The README provides a guide for setting up a self-hosted instance. The codebase is written in TypeScript and JavaScript, and local development can be started using Docker. It is fully open source and free to use or extend.

Copy-paste prompts

Prompt 1
Walk me through running Omnivore locally with docker compose up and logging into the demo account
Prompt 2
Show me how to configure the puppeteer-parse service so saving web pages actually works
Prompt 3
Help me wire the Omnivore Obsidian plugin to my self-hosted instance
Prompt 4
Explain how to forward a Substack newsletter to my Omnivore inbox by email

Frequently asked questions

What is omnivore?

Self-hosted read-it-later app. Save articles, newsletters, and PDFs, then highlight, tag, and search them across web, mobile, and browser extensions.

What language is omnivore written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, Node.js.

How hard is omnivore to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is omnivore for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub omnivore-app on gitmyhub

Verify against the repo before relying on details.