Self-hostable · Open source · ELv2

Your articles
to your e-reader

Save To Ink converts any web link into an ads-free document and sends it straight to your Kindle or Kobo and to your web app.

It also comes as a standalone CLI command:

terminal
$ docker run \
ghcr.io/savetoink/savetoink-cli:latest \
send https://example.com/long-read
 Fetched    Converted    Sent to Kindle

Omnivore shut down. Pocket was acquired. Own your stack.


Four ways in.
One output format.

CLI, REST API, browser extension, or web app — pick whatever fits your workflow. All produce the same clean EPUB, delivered to your device.

CLI

Install with go install or pull the Docker image. Pipe URLs, script it, cron it. No account needed.

$ savetoink send https://…
$ docker run --rm ghcr.io/savetoink/savetoink-cli:latest send https://…

REST API

OpenAPI v3 spec. POST /articles to save, POST /articles/:id/sends to deliver. Integrate with anything.

OpenAPI v3

Browser extension

One click from Chrome or Firefox. Works with the hosted version or points to your own instance.

Chrome · Firefox

Web app

Paste a URL, browse your library, re-send or download EPUBs. Self-host it or use ours.

app.saveto.ink

Fetch

Browserless fallback for JS-heavy pages

Distill

go-trafilatura strips everything but content

Publish

go-epub builds a proper EPUB with metadata

Send

Email-to-Kindle · Kobo sideload


Backend runs fully serverless on AWS.
Or just pull the Docker image.

Pick your deployment style — a single Docker container for the API server, or the full serverless stack on AWS with just deploy.

Docker

Fastest way to get running.

API server

$ docker run -p 8080:8080 \
--env-file .env \
ghcr.io/savetoink/savetoink-http:latest

Web frontend

$ docker run -p 3000:3000 \
--env-file .env \
ghcr.io/savetoink/savetoink-webapp:latest

CLI

$ docker run \
--env-file .env \
ghcr.io/savetoink/savetoink-cli:latest \
send https://example.com/article
AWS Serverless

Lambda, DynamoDB, CloudFront. No servers to maintain.

deploy

$ cp .env.example .env && vim .env
$ just deploy
 
✓ S3 bucket
✓ ACM certificate
✓ Lambda (api + processor + scheduler)
✓ DynamoDB
✓ CloudFront distribution
Lambda DynamoDB CloudFront ACM Auth0 Mailjet
Read the self-hosting docs →

RESTful API, Go backend, SvelteKit frontend, WXT extension.

You're more than welcome to join the development and contribute in any forms you want. Audit it, fork it and make it yours if you prefer.

Go CLI & backend

Single binary, no runtime deps. Chi router, clean interface abstractions — Fetcher → Distiller → Publisher.

Kindle & Kobo

Email-to-Kindle and Kobo sideload. No cables, no apps — the EPUB appears in your library.

Real EPUB output

go-epub with go-trafilatura extraction. Proper metadata, images, chapter structure — not a PDF hack.

WXT browser extension

Chrome and Firefox. Configurable to point at your own instance — no hard-coded cloud dependency.

ELv2 licensed

Source-available, self-hostable. Not MIT, but close — you can run it, fork it, and study it freely.

Article library

Every save is stored. Re-send to a different device, download the EPUB, or just browse your archive.


Cloud offer if you don't want to self-host it

The hosted version has two tiers — start free, upgrade when you need unlimited sends.

Pro

$4 / month

Or $24/year — save 50%.

  • Everything in Free
  • Unlimited sends