
WritingTools
The world's smartest system-wide grammar assistant; a better version of the Apple Intelligence Writing Tools. Works on Windows, Linux, & macOS, with the free Gemini API, local LLMs, & more.
Stars: 1297

Writing Tools is an Apple Intelligence-inspired application for Windows, Linux, and macOS that supercharges your writing with an AI LLM. It allows users to instantly proofread, optimize text, and summarize content from webpages, YouTube videos, documents, etc. The tool is privacy-focused, open-source, and supports multiple languages. It offers powerful features like grammar correction, content summarization, and LLM chat mode, making it a versatile writing assistant for various tasks.
README:
https://github.com/user-attachments/assets/d3ce4694-b593-45ff-ae9a-892ce94b1dc8
https://github.com/user-attachments/assets/76d13eb9-168e-4459-ada4-62e0586ae58c
Writing Tools is an Apple Intelligence-inspired application for Windows, Linux, and macOS that supercharges your writing with an AI LLM (cloud-based or local).
With one hotkey press system-wide, it lets you fix grammar, optimize text according to your instructions, summarize content (webpages, YouTube videos, etc.), and more.
It's currently the world's most intelligent system-wide grammar assistant and works in almost any language, and it's been featured in π₯ 26+ publications (Beebom, XDA, How-To Geek, Neowin, Windows Central...).
Writing Tools was also the π₯ 8th most trending AI program in the world on GitHub in October 2024.
Hi! I'm Jesai, a high school student from Bangalore, and I created and maintain Writing Tools with help from our amazing contributors. I want to especially shout out momokrono, who's contributed extensively, and Arya Mirsepasi, who built the entire macOS port!
Writing Tools will always remain completely free and open-source.
If you find value in it, it would mean the world to me if you could support us as we continue to improve it. β€οΈ
Support Jesai (Windows/Linux): | Support Arya (macOS): |
- Select any text on your PC and invoke Writing Tools with
ctrl+space
. - Choose Proofread, Rewrite, Friendly, Professional, Concise, or even enter custom instructions (e.g., "add comments to this code", "make it title case", "translate to French").
- Your text will instantly be replaced with the AI-optimized version. Use
ctrl+z
to revert.
- Select all text in any webpage, document, email, etc., with
ctrl+a
, or select the transcript of a YouTube video (from its description). - Choose Summary, Key Points, or Table after invoking Writing Tools.
- Get a pop-up summary with clear and beautiful formatting (with Markdown rendering), saving you hours.
- Chat with the summary if you'd like to learn more or have questions.
- They're your own magic buttons. Dream, and it'll magically be done with AI.
- Press
ctrl+space
without selecting text to start a conversation with your LLM (for privacy, chat history is deleted when you close the window).
Aside from being the only Windows/Linux program like Apple's Writing Tools, and the only way to use them on an Intel Mac or in the EU:
- More intelligent than Apple's Writing Tools and Grammarly Premium: Apple uses a tiny 3B parameter model, while Writing Tools lets you use much more advanced models for free (e.g., Gemini 2.0 Flash [~30B]). Grammarly's rule-based NLP can't compete with LLMs.
- Completely free and open-source: No subscriptions or hidden costs. Bloat-free and uses ~0% of your CPU even when actively using it.
- Versatile AI LLM support: Jump in quickly with the free Gemini API & Gemini 2.0, or an extensive range of local LLMs (via Ollama [instructions], llama.cpp, KoboldCPP, TabbyAPI, vLLM, etc.) or cloud-based LLMs (ChatGPT, Mistral AI, etc.) through Writing Tools' OpenAI-API-compatibility.
- Does not mess with your clipboard, and works system-wide.
- Privacy-focused: Your API key and config files stay on your device. NO logging, diagnostic collection, tracking, or ads. Invoked only on your command. Local LLMs keep your data on your device & work without the internet.
-
Supports multiple languages: Works with any language and translates text better than Google Translate (type "translate to [language]" in
Describe your change...
). -
Code support: Fix, improve, translate, or add comments to code with
Describe your change...
." - Themes, Dark Mode, & Customization: Choose between 2 themes: a blurry gradient theme and a plain theme that resembles the Windows + V pop-up! Also has full dark mode support. Set your own hotkey for quick access.
- Go to the Releases page and download the latest
Writing.Tools.zip
file. - Extract it to your desired location (recommended:
Documents
orApp Data/Local
), runWriting Tools.exe
, and enjoy! :D
Note: Writing Tools is a portable app. If you extract it into a protected folder (e.g., Program Files), you must run it as administrator at least on first launch so it can create/edit its config files (in the same folder as its exe).
PS: Go to Writing Tools' Settings (from its tray icon at the bottom right of the taskbar) to enable starting Writing Tools on boot.
Writing Tools works well on x11. On Wayland, there are a few caveats:
- it works on XWayland apps
- and it works if you disable Wayland for individual Flatpaks with Flatseal.
The macOS version is a native Swift port, developed by Arya Mirsepasi. View the README inside the macOS folder to learn more.
To install it:
- Go to the Releases page and download the latest macOS
.dmg
file. - Open the
.dmg
file, also open a Finder Window, and drag thewriting-tools.app
into the Applications folder. That's it!
Note: macOS 14 or later is required due to accessibility API requirements.
https://github.com/user-attachments/assets/dd4780d4-7cdb-4bdb-9a64-e93520ab61be
2οΈβ£ Make Writing Tools work better in MS Word: the ctrl+space
keyboard shortcut is mapped to "Clear Formatting", making you lose paragraph indentation. Here's how to improve this:
P.S.: Word's rich-text formatting (bold, italics, underline, colours...) will be lost on using Writing Tools. A Markdown editor such as Obsidian has no such issue.
https://github.com/user-attachments/assets/42a3d8c7-18ac-4282-9478-16aab935f35e
I believe strongly in protecting your privacy. Writing Tools:
- Does not collect or store any of your writing data by itself. It doesn't even collect general logs, so it's super light and privacy-friendly.
- Lets you use local LLMs to process your text entirely on-device.
- Only sends text to the chosen AI provider (encrypted) when you explicitly use one of the options.
- Only stores your API key locally on your device.
Note: If you choose to use a cloud based LLM, refer to the AI provider's privacy policy and terms of service.
- Proofread: The smartest grammar & spelling corrector. Sorry not sorry, Grammarly Premium.
- Rewrite: Improve the phrasing of your text.
- Make Friendly/Professional: Adjust the tone of your text.
-
Custom Instructions: Tailor your request (e.g., "Translate to French") through
Describe your change...
.
The following options respond in a pop-up window (with markdown rendering, selectable text, and a zoom level that saves & applies on app restarts):
- Summarize: Create clear and concise summaries.
- Extract Key Points: Highlight the most important points.
- Create Tables: Convert text into a formatted table. PS: You can copy & paste the table into MS Word.
These instructions are for Writing Tools Windows/Linux v7+, using its native Ollama provider:
- Download and install Ollama.
- Choose an LLM from here. Recommended:
Llama 3.1 8B
(~8GB RAM of VRAM required). - Run
ollama pull llama3.1:8b
in your terminal to download it. - Open Writing Tools Settings and simply select the Ollama AI Provider. The default model name is already
Llama 3.1 8B
. - That's it! Enjoy Writing Tools with absolute privacy and no internet connection! π From now on, you'll simply need to launch Ollama and Writing Tools into the background for it to work.
These instructions are for any Writing Tools version, using the OpenAI-Compatible provider:
- Download and install Ollama.
- Choose an LLM from here. Recommended:
Llama 3.1 8B
(~8GB RAM of VRAM/RAM required). - Run
ollama pull llama3.1:8b
in your terminal to download Llama 3.1. - In Writing Tools, set the
OpenAI-Compatible
provider with:- API Key:
ollama
(PS: For most local LLM providers, any random string here will suffice.) - API Base URL:
http://localhost:11434/v1
- API Model:
llama3.1:8b
- API Key:
- That's it! Enjoy Writing Tools with absolute privacy and no internet connection! π From now on, you'll simply need to launch Ollama and Writing Tools into the background for it to work.
-
(Being investigated) On some devices, Writing Tools does not work correctly with the default hotkey.
To fix it, simply change the hotkey to ctrl+` or ctrl+j and restart Writing Tools. PS: If a hotkey is already in use by a program or background process, Writing Tools may not be able to intercept it. The above hotkeys are usually unused.
-
The initial launch of the
Writing Tools.exe
might take unusually long β this seems to be because AV software extensively scans this new executable before letting it run. Once it launches into the background in RAM, it works instantly as usual.
Writing Tools would not be where it is today without its amazing contributors:
1. momokrono:
Added Linux support, switched to the pynput API to improve Windows stability. Added Ollama API support, the core logic for customisable buttons, and localization. Fixed misc. bugs and added graceful termination support by handling SIGINT signal.
@momokrono has been incredibly kind and helpful, and I'm forever grateful to have him as a contributor. Not only has he provided extensive help with code, but he's also played a big role in managing GitHub issues. - Jesai
2. Cameron Redmore (CameronRedmore):
Extensively refactored Writing Tools and added OpenAI Compatible API support, streamed responses, and the chat mode when no text is selected.
Helped add dark mode, the plain theme, tray menu fixes, and UI improvements.
Helped improve the reliability of text selection.
5. raghavdhingra24:
Made the rounded corners anti-aliased & prettier.
6. ErrorCatDev:
Significantly improved the About window, making it scrollable and cleaning things up. Also improved our .gitignore & requirements.txt.
7. Vadim Karpenko:
Helped add the start-on-boot setting!
A native Swift port created entirely by Arya Mirsepasi! This was a big endeavour and he's done an increadble job.
Over so many emails, @Aryamirsepasi has been someone I truly look up to, and it's rare to find people as kind as him. We're incredibly grateful for all his contributions here! β Jesai
1. Joaov41:
Developed the amazing picture processing functionality for WritingTools, allowing the app to now work with images in addition to text!
I welcome contributions! :D
If you'd like to improve Writing Tools, please feel free to open a Pull Request or get in touch with me (email below).
If there are major changes on your mind, it may be a good idea to get in touch before working on it.
Email: [email protected]
Made with β€οΈ by a high school student. Check out my other app, Bliss AI, a free AI tutor!
Distributed under the GNU General Public License v3.0.
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for WritingTools
Similar Open Source Tools

WritingTools
Writing Tools is an Apple Intelligence-inspired application for Windows, Linux, and macOS that supercharges your writing with an AI LLM. It allows users to instantly proofread, optimize text, and summarize content from webpages, YouTube videos, documents, etc. The tool is privacy-focused, open-source, and supports multiple languages. It offers powerful features like grammar correction, content summarization, and LLM chat mode, making it a versatile writing assistant for various tasks.

llm-autoeval
LLM AutoEval is a tool that simplifies the process of evaluating Large Language Models (LLMs) using a convenient Colab notebook. It automates the setup and execution of evaluations using RunPod, allowing users to customize evaluation parameters and generate summaries that can be uploaded to GitHub Gist for easy sharing and reference. LLM AutoEval supports various benchmark suites, including Nous, Lighteval, and Open LLM, enabling users to compare their results with existing models and leaderboards.

llm-answer-engine
This repository contains the code and instructions needed to build a sophisticated answer engine that leverages the capabilities of Groq, Mistral AI's Mixtral, Langchain.JS, Brave Search, Serper API, and OpenAI. Designed to efficiently return sources, answers, images, videos, and follow-up questions based on user queries, this project is an ideal starting point for developers interested in natural language processing and search technologies.

LLMstudio
LLMstudio by TensorOps is a platform that offers prompt engineering tools for accessing models from providers like OpenAI, VertexAI, and Bedrock. It provides features such as Python Client Gateway, Prompt Editing UI, History Management, and Context Limit Adaptability. Users can track past runs, log costs and latency, and export history to CSV. The tool also supports automatic switching to larger-context models when needed. Coming soon features include side-by-side comparison of LLMs, automated testing, API key administration, project organization, and resilience against rate limits. LLMstudio aims to streamline prompt engineering, provide execution history tracking, and enable effortless data export, offering an evolving environment for teams to experiment with advanced language models.

Instrukt
Instrukt is a terminal-based AI integrated environment that allows users to create and instruct modular AI agents, generate document indexes for question-answering, and attach tools to any agent. It provides a platform for users to interact with AI agents in natural language and run them inside secure containers for performing tasks. The tool supports custom AI agents, chat with code and documents, tools customization, prompt console for quick interaction, LangChain ecosystem integration, secure containers for agent execution, and developer console for debugging and introspection. Instrukt aims to make AI accessible to everyone by providing tools that empower users without relying on external APIs and services.

your-source-to-prompt.html
Your Source to Prompt is a single HTML file tool that allows users to easily select code files and combine them into a single text output. It runs entirely in the browser, ensuring local and secure operation without any external dependencies. The tool offers features like preset management, efficient file selection, context size awareness, hierarchical structure preview, minification, and user-friendly UI with dark mode. It aims to simplify the process of preparing code for Large Language Models (LLMs) by providing a well-structured prompt context.

transcriptionstream
Transcription Stream is a self-hosted diarization service that works offline, allowing users to easily transcribe and summarize audio files. It includes a web interface for file management, Ollama for complex operations on transcriptions, and Meilisearch for fast full-text search. Users can upload files via SSH or web interface, with output stored in named folders. The tool requires a NVIDIA GPU and provides various scripts for installation and running. Ports for SSH, HTTP, Ollama, and Meilisearch are specified, along with access details for SSH server and web interface. Customization options and troubleshooting tips are provided in the documentation.

testzeus-hercules
Hercules is the worldβs first open-source testing agent designed to handle the toughest testing tasks for modern web applications. It turns simple Gherkin steps into fully automated end-to-end tests, making testing simple, reliable, and efficient. Hercules adapts to various platforms like Salesforce and is suitable for CI/CD pipelines. It aims to democratize and disrupt test automation, making top-tier testing accessible to everyone. The tool is transparent, reliable, and community-driven, empowering teams to deliver better software. Hercules offers multiple ways to get started, including using PyPI package, Docker, or building and running from source code. It supports various AI models, provides detailed installation and usage instructions, and integrates with Nuclei for security testing and WCAG for accessibility testing. The tool is production-ready, open core, and open source, with plans for enhanced LLM support, advanced tooling, improved DOM distillation, community contributions, extensive documentation, and a bounty program.

CodeGPT
CodeGPT is an extension for JetBrains IDEs that provides access to state-of-the-art large language models (LLMs) for coding assistance. It offers a range of features to enhance the coding experience, including code completions, a ChatGPT-like interface for instant coding advice, commit message generation, reference file support, name suggestions, and offline development support. CodeGPT is designed to keep privacy in mind, ensuring that user data remains secure and private.

fridon-ai
FridonAI is an open-source project offering AI-powered tools for cryptocurrency analysis and blockchain operations. It includes modules like FridonAnalytics for price analysis, FridonSearch for technical indicators, FridonNotifier for custom alerts, FridonBlockchain for blockchain operations, and FridonChat as a unified chat interface. The platform empowers users to create custom AI chatbots, access crypto tools, and interact effortlessly through chat. The core functionality is modular, with plugins, tools, and utilities for easy extension and development. FridonAI implements a scoring system to assess user interactions and incentivize engagement. The application uses Redis extensively for communication and includes a Nest.js backend for system operations.

plandex
Plandex is an open source, terminal-based AI coding engine designed for complex tasks. It uses long-running agents to break up large tasks into smaller subtasks, helping users work through backlogs, navigate unfamiliar technologies, and save time on repetitive tasks. Plandex supports various AI models, including OpenAI, Anthropic Claude, Google Gemini, and more. It allows users to manage context efficiently in the terminal, experiment with different approaches using branches, and review changes before applying them. The tool is platform-independent and runs from a single binary with no dependencies.

ProxyAI
ProxyAI is an open-source AI copilot for JetBrains, offering advanced code assistance features powered by top-tier language models. Users can customize their coding experience, receive AI-suggested code changes, autocomplete suggestions, and context-aware naming suggestions. The tool also allows users to chat with images, reference project files and folders, web docs, git history, and search the web. ProxyAI prioritizes user privacy by not collecting sensitive information and only gathering anonymous usage data with consent.

Hexabot
Hexabot Community Edition is an open-source chatbot solution designed for flexibility and customization, offering powerful text-to-action capabilities. It allows users to create and manage AI-powered, multi-channel, and multilingual chatbots with ease. The platform features an analytics dashboard, multi-channel support, visual editor, plugin system, NLP/NLU management, multi-lingual support, CMS integration, user roles & permissions, contextual data, subscribers & labels, and inbox & handover functionalities. The directory structure includes frontend, API, widget, NLU, and docker components. Prerequisites for running Hexabot include Docker and Node.js. The installation process involves cloning the repository, setting up the environment, and running the application. Users can access the UI admin panel and live chat widget for interaction. Various commands are available for managing the Docker services. Detailed documentation and contribution guidelines are provided for users interested in contributing to the project.

nextjs-ollama-llm-ui
This web interface provides a user-friendly and feature-rich platform for interacting with Ollama Large Language Models (LLMs). It offers a beautiful and intuitive UI inspired by ChatGPT, making it easy for users to get started with LLMs. The interface is fully local, storing chats in local storage for convenience, and fully responsive, allowing users to chat on their phones with the same ease as on a desktop. It features easy setup, code syntax highlighting, and the ability to easily copy codeblocks. Users can also download, pull, and delete models directly from the interface, and switch between models quickly. Chat history is saved and easily accessible, and users can choose between light and dark mode. To use the web interface, users must have Ollama downloaded and running, and Node.js (18+) and npm installed. Installation instructions are provided for running the interface locally. Upcoming features include the ability to send images in prompts, regenerate responses, import and export chats, and add voice input support.

krita-ai-diffusion
Krita-AI-Diffusion is a plugin for Krita that allows users to generate images from within the program. It offers a variety of features, including inpainting, outpainting, generating images from scratch, refining existing content, live painting, and control over image creation. The plugin is designed to fit into an interactive workflow where AI generation is used as just another tool while painting. It is meant to synergize with traditional tools and the layer stack.
For similar tasks

WritingTools
Writing Tools is an Apple Intelligence-inspired application for Windows, Linux, and macOS that supercharges your writing with an AI LLM. It allows users to instantly proofread, optimize text, and summarize content from webpages, YouTube videos, documents, etc. The tool is privacy-focused, open-source, and supports multiple languages. It offers powerful features like grammar correction, content summarization, and LLM chat mode, making it a versatile writing assistant for various tasks.

generative-ai-use-cases-jp
Generative AI (ηζ AI) brings revolutionary potential to transform businesses. This repository demonstrates business use cases leveraging Generative AI.

AlwaysReddy
AlwaysReddy is a simple LLM assistant with no UI that you interact with entirely using hotkeys. It can easily read from or write to your clipboard, and voice chat with you via TTS and STT. Here are some of the things you can use AlwaysReddy for: - Explain a new concept to AlwaysReddy and have it save the concept (in roughly your words) into a note. - Ask AlwaysReddy "What is X called?" when you know how to roughly describe something but can't remember what it is called. - Have AlwaysReddy proofread the text in your clipboard before you send it. - Ask AlwaysReddy "From the comments in my clipboard, what do the r/LocalLLaMA users think of X?" - Quickly list what you have done today and get AlwaysReddy to write a journal entry to your clipboard before you shutdown the computer for the day.

payload-ai
The Payload AI Plugin is an advanced extension that integrates modern AI capabilities into your Payload CMS, streamlining content creation and management. It offers features like text generation, voice and image generation, field-level prompt customization, prompt editor, document analyzer, fact checking, automated content workflows, internationalization support, editor AI suggestions, and AI chat support. Users can personalize and configure the plugin by setting environment variables. The plugin is actively developed and tested with Payload version v3.2.1, with regular updates expected.

nlp-llms-resources
The 'nlp-llms-resources' repository is a comprehensive resource list for Natural Language Processing (NLP) and Large Language Models (LLMs). It covers a wide range of topics including traditional NLP datasets, data acquisition, libraries for NLP, neural networks, sentiment analysis, optical character recognition, information extraction, semantics, topic modeling, multilingual NLP, domain-specific LLMs, vector databases, ethics, costing, books, courses, surveys, aggregators, newsletters, papers, conferences, and societies. The repository provides valuable information and resources for individuals interested in NLP and LLMs.

Awesome-Segment-Anything
Awesome-Segment-Anything is a powerful tool for segmenting and extracting information from various types of data. It provides a user-friendly interface to easily define segmentation rules and apply them to text, images, and other data formats. The tool supports both supervised and unsupervised segmentation methods, allowing users to customize the segmentation process based on their specific needs. With its versatile functionality and intuitive design, Awesome-Segment-Anything is ideal for data analysts, researchers, content creators, and anyone looking to efficiently extract valuable insights from complex datasets.

fairseq
Fairseq is a sequence modeling toolkit that enables researchers and developers to train custom models for translation, summarization, language modeling, and other text generation tasks. It provides reference implementations of various sequence modeling papers covering CNN, LSTM networks, Transformer networks, LightConv, DynamicConv models, Non-autoregressive Transformers, Finetuning, and more. The toolkit supports multi-GPU training, fast generation on CPU and GPU, mixed precision training, extensibility, flexible configuration based on Hydra, and full parameter and optimizer state sharding. Pre-trained models are available for translation and language modeling with a torch.hub interface. Fairseq also offers pre-trained models and examples for tasks like XLS-R, cross-lingual retrieval, wav2vec 2.0, unsupervised quality estimation, and more.

transcriptionstream
Transcription Stream is a self-hosted diarization service that works offline, allowing users to easily transcribe and summarize audio files. It includes a web interface for file management, Ollama for complex operations on transcriptions, and Meilisearch for fast full-text search. Users can upload files via SSH or web interface, with output stored in named folders. The tool requires a NVIDIA GPU and provides various scripts for installation and running. Ports for SSH, HTTP, Ollama, and Meilisearch are specified, along with access details for SSH server and web interface. Customization options and troubleshooting tips are provided in the documentation.
For similar jobs

ChatFAQ
ChatFAQ is an open-source comprehensive platform for creating a wide variety of chatbots: generic ones, business-trained, or even capable of redirecting requests to human operators. It includes a specialized NLP/NLG engine based on a RAG architecture and customized chat widgets, ensuring a tailored experience for users and avoiding vendor lock-in.

anything-llm
AnythingLLM is a full-stack application that enables you to turn any document, resource, or piece of content into context that any LLM can use as references during chatting. This application allows you to pick and choose which LLM or Vector Database you want to use as well as supporting multi-user management and permissions.

ai-guide
This guide is dedicated to Large Language Models (LLMs) that you can run on your home computer. It assumes your PC is a lower-end, non-gaming setup.

classifai
Supercharge WordPress Content Workflows and Engagement with Artificial Intelligence. Tap into leading cloud-based services like OpenAI, Microsoft Azure AI, Google Gemini and IBM Watson to augment your WordPress-powered websites. Publish content faster while improving SEO performance and increasing audience engagement. ClassifAI integrates Artificial Intelligence and Machine Learning technologies to lighten your workload and eliminate tedious tasks, giving you more time to create original content that matters.

mikupad
mikupad is a lightweight and efficient language model front-end powered by ReactJS, all packed into a single HTML file. Inspired by the likes of NovelAI, it provides a simple yet powerful interface for generating text with the help of various backends.

glide
Glide is a cloud-native LLM gateway that provides a unified REST API for accessing various large language models (LLMs) from different providers. It handles LLMOps tasks such as model failover, caching, key management, and more, making it easy to integrate LLMs into applications. Glide supports popular LLM providers like OpenAI, Anthropic, Azure OpenAI, AWS Bedrock (Titan), Cohere, Google Gemini, OctoML, and Ollama. It offers high availability, performance, and observability, and provides SDKs for Python and NodeJS to simplify integration.

onnxruntime-genai
ONNX Runtime Generative AI is a library that provides the generative AI loop for ONNX models, including inference with ONNX Runtime, logits processing, search and sampling, and KV cache management. Users can call a high level `generate()` method, or run each iteration of the model in a loop. It supports greedy/beam search and TopP, TopK sampling to generate token sequences, has built in logits processing like repetition penalties, and allows for easy custom scoring.

firecrawl
Firecrawl is an API service that takes a URL, crawls it, and converts it into clean markdown. It crawls all accessible subpages and provides clean markdown for each, without requiring a sitemap. The API is easy to use and can be self-hosted. It also integrates with Langchain and Llama Index. The Python SDK makes it easy to crawl and scrape websites in Python code.