---
name: '2eInk - Image Converter'
description: 'Convert images to optimized screensavers for e-ink devices. Runs entirely in your browser.'
tags: ['svelte', 'web-assembly', 'tailwindcss']
image: '../../../public/static/2e-ink.webp'
links:
  - label: 'Live Demo'
    url: 'https://2e-ink.jaroszew.ski'
  - label: 'Source Code'
    url: 'https://git.jaroszew.ski/patrick/2eInk'
order: 6
startDate: '2026-05-12'
endDate: '2026-05-14'
---

<div class="flex flex-wrap gap-2 my-0! [&>img]:my-0! [&>img]:mt-2!" >
  <img src="https://img.shields.io/badge/Svelte-FF3E00?style=for-the-badge&logo=svelte&logoColor=white" alt="Svelte" />
  <img src="https://img.shields.io/badge/WebAssembly-654FF0?style=for-the-badge&logo=webassembly&logoColor=white" alt="WebAssembly" />
  <img src="https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white" alt="TailwindCSS" />
</div>

A privacy-focused web app that optimizes your photos and artwork for e-ink displays. I built this to create custom screensavers for my Kindle. Built with Svelte and WebAssembly, all image processing happens entirely client-side.

E-ink screens have unique display characteristics: limited grayscale levels, specific resolutions, and slow refresh rates. 2eInk handles the technical complexity of preparing images for these devices, applying professional-grade transformations:

- **Smart Resizing** - Automatically scales images to match your device's exact resolution
- **Grayscale Quantization** - Maps colors to the specific gray levels your display supports (typically 4, 8, or 16 levels)
- **Advanced Dithering** - Uses Floyd-Steinberg dithering to simulate additional gray tones and eliminate banding artifacts
- **Fine-tuning Controls** - Adjust contrast, brightness, gamma, and sharpening for optimal visual quality

Batch process entire photo albums in seconds. Download a zip of optimized images ready to transfer to your e-reader, digital picture frame, or other e-ink device.
