Easydict

Word lookup and translation for macOSOpen source

About Easydict

Easydict is an open-source macOS dictionary and translation app: from selected text, a screenshot or typed input, one shortcut queries several dictionaries, translators and LLMs side by side. GitHub user tisfeng created the GPL-3.0 repo on 2022-11-15; as of 2026-10-25 it has 15,071 stars, the latest stable release is 2.24.0, and it needs macOS 13+. The app is free; most AI services need the user's own API key, paid to the provider. Crash logs and anonymous analytics default to on, with an off switch in settings.

What it is

Easydict is a dictionary and translation tool that runs on macOS. It works like this: select some text in any app and press a shortcut to open the query window; or box a region of the screen to recognize its text and then translate it; or open an input box and type. Each query goes to several services at once, and dictionary entries, machine translations and LLM translations appear in separate panels per service for direct comparison.

The README says it supports 20+ dictionary, translation, AI, local-model and CLI services and offers 52 selectable translation languages (as reported by the vendor, as of 2026-10-25). The list covers on-device features such as Apple's system dictionary and Apple Translate, online translators such as Youdao, DeepL, Google and Bing, and OpenAI, Claude, Gemini, DeepSeek, Ollama, plus AI tools that call a local command line, such as Codex CLI, Claude Code and GitHub Copilot CLI.

GitHub user tisfeng started the project and leads its maintenance. The repo tisfeng/Easydict was created on 2022-11-15 under GPL-3.0. The GitHub repo page shows Swift at 52.4%, Python at 24.6% and Objective-C at 14.8% (as of 2026-10-26); the repo's tracker for the Objective-C to Swift migration is marked active, last reviewed on 2026-08-09.

As of 2026-10-25, GitHub shows 15,071 stars and 796 forks. The latest stable release is 2.24.0, published 2026-09-28 01:51 (UTC+8); 2.25.0 is a pre-release published 2026-10-19 21:33 (UTC+8). Current versions need macOS 13.0 or later; users on macOS 11 or 12 can only use 2.7.2.

The app costs nothing and has no paid tier. "Free" refers to the app only: services such as OpenAI and Claude need the user's own API key, and usage is billed separately by each provider.

Easydict is a free and open source project, currently mainly developed and maintained by the author.

Easydict README, sponsorship section

Core capabilities

Three ways to capture text. The README lists four default shortcuts: input translation ⌥A, selection translation ⌥D, screenshot translation ⌥S and silent screenshot OCR ⌥⇧S; the usage guide adds the mini window on ⌥F. The main, floating and mini windows can each use a different set of services, and queries support history, favorites and export.

Many services in one query. The services overview groups them in four sets (as of 2026-10-25): dictionaries are Apple Dictionary, MDict and Youdao; AI covers OpenAI, DeepSeek, Groq, Zhipu, MiniMax, Built-in AI, Claude Code, Codex CLI, Gemini, Claude, Ollama and custom OpenAI-compatible endpoints; AI tools are Polishing and Summary; translation covers DeepL, Google, Apple Translate, Baidu, Bing, Volcano, NiuTrans, Caiyun, Tencent, Alibaba and Doubao. Access comes in four types: no key, built-in key, user key and CLI. New installs enable Youdao, DeepL and Built-in AI by default.

Where Built-in AI comes from. The source file BuiltInAIService.swift shows Built-in AI defaults to Zhipu's free models GLM-4-Flash-250414 and GLM-4.5-Flash, and hides the API key and endpoint settings so users cannot change them.

Local and command-line AI. Ollama connects local models; Codex CLI (added in 2.21.0), Claude Code and GitHub Copilot CLI (added in 2.24.0) translate by calling command-line tools already on the Mac, and 2.23.0 added signing in to Codex with a ChatGPT account. Per the services overview, Apple Translate works offline on macOS 15 and later; since 2.20.0 local MDict dictionaries can be imported.

OCR and speech. The usage guide says OCR uses Apple Vision first with Youdao OCR as a fallback, and since 2.24.0 QR codes in screenshots are recognized too. Text-to-speech supports Apple, Baidu, Bing, Google and Youdao, with Youdao as the default.

Hooks into other tools. The usage guide documents a URL scheme of the form easydict://query?text= and a PopClip extension, so Shortcuts or text-selection tools can call it; 2.24.0 added a local vocabulary notebook, and the 2.25.0 pre-release adds Anki Connect to send looked-up words to Anki.

Who it's for / Not for

For: people who read papers, docs and web pages in other languages on a Mac and want select-to-look-up; people who want to compare several machine and LLM translations; people who already have OpenAI or DeepSeek API keys, or run Ollama or Codex CLI locally, and are willing to do the setup themselves; people who value open source and want to read the code or even submit fixes.

Not for: Windows or Linux users, since Easydict is macOS only; users stuck on macOS 12 or earlier who want new features; people who do not want to deal with API keys or grant three system permissions (Accessibility, Screen Recording, Automation); people sensitive to any telemetry who will not switch it off in settings, since crash logs and anonymous analytics are on by default; teams that need commercial support or service-level commitments.

How it compares

Against Bob. Bob is also a macOS translation and OCR tool, and its Mac App Store listing gives the same default shortcuts as Easydict: input ⌥A, selection ⌥D, screenshot ⌥S. How the two relate: Easydict's README acknowledgements say the project was inspired by saladict and Bob, that its first version was built on the GPL-3.0 version of Bob, and that many features and much of the UI follow Bob. On price, the Mac App Store CN storefront (as of 2026-10-25) shows Bob as a free download with in-app purchases: Bob Pro and Bob Pro Original are both RMB 58, plus a RMB 0 Bob Free Trial; Apple's lookup API shows the latest version 1.21.2, released 2026-10-13. Bob's site claims 30+ translation services (as reported by the vendor, as of 2026-10-25). The difference: Easydict is free with public source, while Bob ships through the App Store with in-app purchases.

Against Pot. Pot is a cross-platform open-source translation and OCR tool for Windows, macOS and Linux, also GPL-3.0, with 19,362 GitHub stars as of 2026-10-25. Pot's home page says it is no longer maintained and points users to another project; the last release on GitHub is 3.0.7 from 2025-05-10. Pot covers all three platforms but gets no further updates.

Against built-in system features. Easydict itself wires in Apple's system dictionary and Apple Translate as services and shows them alongside online services in one window.

Prices at a glance (as of 2026-10-25): Easydict RMB 0; Bob free to download, Pro in-app purchase RMB 58 (Mac App Store CN storefront); Pot free but no longer maintained. For all three, calls to outside APIs such as OpenAI are billed at each provider's prices.

Getting started

Step 1, installation. Installation is through brew install --cask easydict in a terminal, or the dmg from GitHub Releases. The Homebrew cask is currently 2.24.0 and needs macOS 13 or later (as of 2026-10-25). formulae.brew.sh stats show 1,125 Homebrew installs in the last 30 days, 2,639 in 90 days and 10,007 in 365 days (as of 2026-10-25, counting only Homebrew users with analytics on).

Step 2, permissions. Per the usage guide, selection needs Accessibility, screenshot OCR needs Screen Recording, and capturing text in some apps also needs Automation. Without them the matching features do not work.

Step 3, the default services. New installs enable Youdao, DeepL and Built-in AI, so queries work without any key. The Services page in settings can add, remove and reorder services.

Step 4, connecting LLMs. Service settings take API keys for OpenAI, DeepSeek, Claude and others; local models connect through Ollama; for Codex CLI, Claude Code and GitHub Copilot CLI, the usage guide has users sign in from a terminal first, then add the service in settings, where the detected CLI path is shown.

Step 5, privacy settings. The Privacy tab in settings has two toggles: allow crash log collection and allow analytics collection, both on by default in the source. Both can be turned off on that tab.

Pricing & license

Easydict is free, with no paid tier and no in-app purchases (as of 2026-10-25). The project takes sponsorship through an Afdian link in the README; sponsorship unlocks nothing. Costs come from outside services: OpenAI, Claude, Gemini, DeepSeek, Baidu, Tencent, Alibaba, Volcano, Doubao and others need the user's own key and bill at each provider's prices; Built-in AI, DeepL, Google, Bing and others work without a key.

License: GPL-3.0. Tracing the LICENSE history, the file came in with initial commit 584d519 at 2022-11-15 20:41 (UTC+8), together with .gitignore and README.md, so the project was GPL-3.0 from day one. There has been one change since: commit 5e43191 (2023-03-19 09:36 (UTC+8)), message "Update LICENSE author", replaced the Free Software Foundation 2007 copyright line at the top of the license with "Copyright (c) 2023 Tisfeng". The GPL-3.0 text allows verbatim copying but does not allow changing the license itself.

Another detail is the README statement: the project is GPL-3.0 and "for learning and communication only". The GPL-3.0 text itself has no clause restricting commercial use.

Risks & limits

Telemetry on by default. The privacy statement says Easydict uses Sentry and Firebase to collect crash logs and anonymous analytics, and says the data is not tied to the user's identity and never shared with other platforms (as reported by the vendor). In the source file Defaults.Keys+Extension.swift both the crash-log and analytics toggles default to on, and the dependency list Package.resolved includes firebase-ios-sdk and sentry-cocoa. Both can be switched off by hand.

Queries go to third parties. Apart from Apple Dictionary, offline Apple Translate, MDict and local Ollama, selected or captured text is sent to the matching provider. Built-in AI goes through the bundled Zhipu endpoint on Zhipu's free models.

No-key channels. The services overview lists DeepL as a built-in no-key method; the 2.25.0 pre-release notes include two fixes: updating the DeepL client version to restore translation compatibility, and fetching the DeepL Web App version dynamically.

Maintenance. The README says the maintainer has been busy and usually triages issues only on weekends, prioritizing PRs; the contributing guide also says active maintainers are limited and reviews may take a while. As of 2026-10-25 there are 167 open issues and 26 open PRs (GitHub search). By GitHub's contributors API (anon=0, as of 2026-10-25), tisfeng made 3,878 commits; second is KurodaKayn with 103.

System and permission hurdles. New versions need macOS 13 or later; selection, screenshots and some text capture need Accessibility, Screen Recording and Automation permissions, which managed company Macs may not allow.

Stable and pre-release builds. 2.25.0, at the top of the GitHub releases page, is a pre-release, while Homebrew is still on 2.24.0 (as of 2026-10-25). The 2.25.0 notes say that with beta updates on, the app offers pre-releases as the latest version.

The website. easydict.app returned HTTP 402 on 2026-10-25 with DEPLOYMENT_DISABLED. Docs and downloads are currently on the GitHub repo.

How it got here

It started with Bob. The README acknowledgements say Easydict was inspired by saladict and Bob and that its first version was built on the GPL-3.0 version of Bob; the screenshot feature builds on a project by isee15, and text selection follows PopClip's approach. The repo was created on 2022-11-15, and the initial commit already carried the GPL-3.0 license.

The first release, 1.0.0, came out on 2023-01-03 23:03 (UTC+8). 1.1.2, released on 2023-01-08, added Apple's system translation. Early signing problems were solved by the community: the README says @CanglongCl provided an Apple Developer account that fixed the signing issue in issue #2. On 2023-03-19 the LICENSE copyright line was changed to tisfeng.

The move to Swift. The repo's migration tracker records that between 2024-12 and 2025-03, services including Google, Bing, Youdao, NiuTrans, DeepL, Apple Dictionary and Baidu, plus the query service base class, were rewritten from Objective-C to Swift, with the UI shifting toward SwiftUI. At its 2026-08-09 review the migration was still marked active.

A turn toward LLMs and command-line AI. The 2026 releases: 2.19.0 (2026-05-05) added Claude; 2.20.0 (2026-05-18) added MDict; 2.21.0 (2026-06-07) added Codex CLI, remote model-list fetching and DeepSeek V4 thinking presets; 2.22.0 (2026-08-23) rendered AI results as Markdown, added Japanese, Spanish and Catalan UI and translate-as-you-type; 2.23.0 (2026-09-19) added ChatGPT sign-in for Codex, Claude Code model settings and reverse translation; 2.24.0 (2026-09-28) added GitHub Copilot CLI translation, a local vocabulary notebook and QR recognition in screenshots; the 2.25.0 pre-release (2026-10-19) added Anki Connect and moved Gemini to the OpenAI-compatible format.

How it is built. From 2026-08 the repo gained a number of workflow documents aimed at coding agents; the contributing guide describes an agent workflow and says PRs get automatic Codex reviews. The latest commit on the default branch dev was on 2026-10-25. The 2.25.0 notes list first-time contributors.

Our verdict

Easydict lets Mac users look up selected text for free with open-source code, showing results from several dictionaries, machine translators and LLMs side by side in one window; the 2026 releases add local command-line AI tools such as Codex CLI, Claude Code and GitHub Copilot CLI.

Its limits: it is macOS only, and new versions need macOS 13 or later; crash logs and anonymous analytics are on by default; Built-in AI runs through a Zhipu endpoint bundled with the project; the GitHub contributors API shows 3,878 commits for tisfeng and 103 for the second contributor (as of 2026-10-25); and 2.25.0, at the top of the GitHub releases page, is a pre-release. Among similar tools, Bob's Pro in-app purchase is RMB 58, and Pot's home page says it is no longer maintained.

Why it stands out

Easydict is a macOS dictionary and translation app that appears when you select text and disappears when you are done. It queries multiple services in parallel, handles OCR from screenshots, and feels native because it is written in Swift and Objective-C rather than wrapped from the web.

tisfeng has kept the project polished through years of macOS releases, and the attention to system integration, from shortcuts to window behaviour, is what makes it feel like part of the operating system.

It is written in Swift and Objective-C, queries several translation services in parallel, and reads text from screenshots with OCR.

Sources

Official

  1. tisfeng/Easydict on GitHubGitHub · Accessed Oct 25, 2026
  2. Easydict READMEGitHub · Accessed Oct 25, 2026
  3. Easydict README (ZH edition)GitHub · Accessed Oct 25, 2026
  4. Easydict ServicesGitHub · Accessed Oct 25, 2026
  5. Easydict Complete Usage GuideGitHub · Accessed Oct 25, 2026
  6. Easydict contribution guide (ZH)GitHub · Accessed Oct 25, 2026
  7. Easydict LICENSE file historyGitHub · Accessed Oct 25, 2026
  8. Easydict commit 584d519: Initial commitGitHub · Accessed Oct 25, 2026

Updates & reading