Beginner 11 minOther tools

Jan: the open-source alternative to ChatGPT

Direct response

Jan is a free desktop application (Apache 2.0, published by Menlo Research) that runs GGUF models through llama.cpp on Windows, Linux, and Mac Apple Silicon, without an account. It combines local and cloud models in the same interface, exposes an OpenAI-compatible API on port 1337, and collects usage metrics only with your consent.

Jan presents itself as a free and open alternative to ChatGPT, but its documentation has changed substantially: the engine, license, settings, and Mac support are no longer what they used to be. You will learn how to install it, choose a model suited to your memory, connect cloud models with a clear understanding of the implications, use its API server, and decide whether it works for you.

By Mohamed Meguedmi·Update 2026-09-30·Tested on Windows, macOS, and Linux

#Jan in two words: what it is in 2026

Jan is a free desktop application developed by Menlo Research that replaces ChatGPT with models running on your machine. Its code is released under the Apache 2.0 license on GitHub. It runs on Windows, macOS (Apple Silicon only), and Linux; downloads GGUF-format models from a Hub connected to Hugging Face; runs them with llama.cpp; and exposes an OpenAI-compatible API on port 1337. It can also connect to cloud models (OpenAI, Anthropic, Google, Groq, Mistral, OpenRouter) in the same interface, connect MCP servers, and perform web searches. For everyday use, no account or command line is required. This guide installs Jan, helps you choose a model suited to your memory, and shows you where its strengths end.

!
What has changed since the old tutorials
The current repository indicates Apache 2.0 (not AGPL). The documented engine is llama.cpp (not Cortex), the application is built on Tauri, cloud providers are configured under Settings, then Model Providers, and Intel Macs are not supported. If an older tutorial tells you otherwise, follow the official documentation.

#Jan, LM Studio, or Ollama: what sets them apart

The Local AI Kit

Your private ChatGPT, free, on your own machine in an hour — LM Studio, Ollama, Open WebUI, your documents, no cloud.

  • Lifetime online access
  • PDF + files
  • Lifetime updates

All three tools run the same GGUF models; they differ in their interface, license, and typical use. The table is limited to elements verifiable in their official documentation.

Jan, LM Studio, and Ollama at a glance
CriterionJanLM StudioOllama
InterfaceDesktop application (chat, projects, assistants)Desktop applicationCommand line, API, and Ollama application
Code licenseApache 2.0Free application at work and at home since July 2025MIT
Local API port1337123411434
Documented enginellama.cpp (experimental MLX on Mac)See the LM Studio documentationSee the Ollama documentation

The choice depends on how you use it. Jan works if you want a complete interface, open-source code, and the ability to mix local and cloud models without changing tools. If you automate, script, or deploy on a server, Ollama or llama-server remain more natural choices. The comparison guide details these trade-offs.

#Install Jan on Windows, macOS, or Linux

Installation does not require an account. Here are the official prerequisites to check before downloading: they determine which model you can load afterward.

Jan installation prerequisites (official documentation)
SystemPrerequisitesGood to know
WindowsWindows 10 or newer; processor with AVX2; NVIDIA GPU, AMD, or Intel ArcGPU optional; 10 GB of free space recommended
macOSmacOS 13.6 or later; Apple Silicon (M1 to M4)Intel Macs are not supported; 10 GB of free space
LinuxDebian/Ubuntu, Fedora/RHEL, Arch, openSUSE; AVX2; 8 GB of RAM minimumFlatpak recommended, .deb or AppImage as fallback
  1. 01
    Download the installer
    Go to jan.ai or the GitHub releases page. Windows: .exe file. macOS: .dmg to drag into Applications. Linux: Flatpak preferred, otherwise .deb or AppImage.
  2. 02
    Launch Jan for the first time
    No account creation. On first launch, Jan downloads its default model; once the download is complete, chat is ready to use. The first launch also lets you choose your usage measurement preferences.
  3. 03
    Open the Hub for more models
    The Hub is accessible from the sidebar. Search for a model, click Download, then select it in the model selector of any chat.
Terminal (Linux, Flatpak)
flatpak install flathub ai.jan.Jan
flatpak run ai.jan.Jan

#Choose a model that fits in your memory

The Hub displays a fit indicator for each model: Fits, May be slow, or Won't fit, calculated from your hardware without downloading anything. Quantizations are grouped into Small, Balanced, and Large, with a Recommended label for the default download. Check these indicators before considering any other criteria.

To give you a sense of scale, here are the site's approximate Q4 sizes (weights only, before context) and the figures Jan provides for Macs; the table cross-references both.

Memory and model size: reference points
Machine memoryJan's benchmark (Mac)Q4 model (weights only)
8 GBUp to 3B comfortably3B: about 2 GB
16 GBUp to 7B comfortably7–8B: about 5 GB
32 GBUp to 13B comfortably, with more headroom for context14B: about 9 GB

The in-house Jan-v3-4B model, released under the Apache 2.0 license, is a reasonable starting point: 4 billion parameters, a native context window of 262,144 tokens, and, according to Jan, at least 8 GB of RAM in Q4 quantization (16 GB recommended in Q8). It is a lightweight model: for summarization or long-form writing, a model with 7 to 14 billion parameters will do better if your memory allows it.

→
Import an already-downloaded model
Already have GGUF files on disk? In the llama.cpp engine settings, the Import button links to the file without copying it. You can also open a model from its Hugging Face page: Use this model, then Jan under Local Apps. Some models require you to enter a Hugging Face token in the settings.

#First chat, assistants, and projects

  1. 01
    Open a new chat
    Select the model from the selector at the top of the chat. A local model is loaded into memory the first time you use it; allow more time for a large model.
  2. 02
    Write the message
    Send your message; the response appears as it is generated. The model parameters (temperature, context) are documented in Jan's “Model Parameters” documentation.
  3. 03
    Attach a file
    The plus button lets you add documents, images (a vision-enabled model required), or WAV and MP3 audio files (an audio model required). With a local model, the files stay on your machine.

Two features change everyday use. Assistants are reusable sets of instructions: the equivalent of a saved system prompt that you activate from the input field. Projects group conversations around shared instructions and files: a document added to a project is split into chunks and indexed, then made available in every conversation in the project. It's lightweight RAG, sufficient for querying a few PDFs without building a pipeline. See the guide to system prompts for advice on writing an assistant's instructions.

i
Web search leaves your machine
Jan integrates web search and retrieval tools that can be used without configuration. By nature, a search sends a request over the Internet, so it falls outside the 100% offline model. If offline operation is your goal, don't enable web tools for these conversations.

#Connect a cloud model (and what that entails)

Jan lets you mix local and cloud models in the same interface: useful for comparing a local response with one from a large model, or for keeping a single chat client. Open Settings, then Model Providers, choose a provider (OpenAI, Anthropic, Google, Groq, Mistral, OpenRouter, Azure OpenAI, Hugging Face), and paste in your API key. Any OpenAI- or Anthropic-compatible endpoint can also be added as a custom endpoint. The cloud model then appears in the selector.

!
A cloud model sees everything you send it
Jan’s privacy documentation says it plainly: cloud models must see your messages to function. Attached files are also sent to the provider. For sensitive data, stick with a local model and check the selected-model indicator before sending.

#Use Jan as a local API server

Jan includes an OpenAI-compatible server powered by llama.cpp. Open Settings, then Local API Server, and click Start Server. It is ready when the logs show it listening on http://127.0.0.1:1337. Your scripts, code editors, or OpenAI-compatible applications can then use it by changing the base URL.

Terminal
curl http://127.0.0.1:1337/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer secret-key-123" \
  -d '{"model": "YOUR_MODEL_ID", "messages": [{"role": "user", "content": "Bonjour"}]}'

Replace YOUR_MODEL_ID with the ID of a model available in your Jan, and the key with the one you defined. Configuration options deserve attention, especially those related to networking.

Jan local server settings
SettingDefault valueKey takeaway
Host127.0.0.1Accessible only from your machine; 0.0.0.0 exposes it to the local network, so use with caution
Port1337Can be changed if the port is occupied
API prefix/v1Follows the OpenAI convention
API keyOptionalA defined key is required in the Authorization header; define it before exposing the service to the network
Trusted hostsFill in if neededAdditional security layer in case of network exposure
CORSEnabledDisable if only non-browser scripts access it

#Common local server errors

Connection refused
The server is not running, or your application is targeting the wrong host or port.
401 Unauthorized
The API key is missing from or incorrect in the Authorization header.
404 Not Found
The model identifier does not match any model available in Jan, or the API prefix is misspelled.
CORS error in the browser
Make sure the CORS option is enabled in the server settings.

#llama.cpp or MLX on Mac

On Apple Silicon, Jan offers two engines. llama.cpp is the stable engine, available on all platforms in GGUF format. MLX is an engine for Apple chips (macOS 14 minimum) that uses Metal, but Jan labels it experimental: no embeddings, so no RAG; reasoning output is unsupported; and some recent architectures will not load. The documentation recommends starting with llama.cpp and trying MLX for a compatible model if you want speed.

#Privacy: what stays with you

Jan says it collects no data before you consent: you choose your usage-measurement preferences on first launch and can change them later in the settings. If you agree, the publisher counts usage metrics, such as active users, linked to a random identifier, through PostHog hosted in the European Union. It says it never reads your conversations or logs your prompts. Your data (models, conversation threads, settings, logs) is stored in a local folder: on macOS, ~/Library/Application Support/Jan/data; on Linux, ~/.local/share/Jan/data. This description comes from the publisher; for a regulated environment, verify your workstation’s outbound traffic.

#Is Jan right for you?

You want open-source code
The repository is licensed under Apache 2.0: you can read, fork, and redistribute the code in compliance with the license, with attribution requested.
You're mixing local and cloud
One interface for your local models and cloud providers, with shared assistants and projects.
You avoid the terminal
Installation, model downloads, and the local server are all managed from the interface.
You automate or deploy on a server
Prefer Ollama or llama-server, which are better suited to services that run without an interface.
You're on an Intel Mac
Jan is not supported: choose another tool.
FAQ
Is Jan really free and open source?+
Yes: the application is free, and its code is published on GitHub under the Apache 2.0 license, with an attribution notice requested. Only the cloud providers you connect may charge for their own APIs. Some older pages still mention AGPL: the repository's current LICENSE file states Apache 2.0.
Does Jan work without an Internet connection?+
Yes, once the application is installed and a local model has been downloaded, chatting with a local model does not require a connection. Two exceptions: cloud models and web search tools, which obviously contact the Internet. So download your models before traveling.
What is the minimum configuration required for Jan?+
Windows 10 or later with an AVX2 processor, macOS 13.6 or later on Apple Silicon (Intel Macs are not supported), or Linux with AVX2 and at least 8 GB of RAM. For a small 3-billion-parameter model, 8 GB of memory is enough; allow 16 GB for a 7-billion-parameter model.
How do I use Jan with my code editor or scripts?+
Enable the local server under Settings, then Local API Server, and start it: it listens on 127.0.0.1, port 1337, with the /v1 prefix compatible with OpenAI. Enter this base URL in your tool, the identifier of an installed model, and, if you have defined one, the API key.
Does Jan send my conversations to anyone?+
With a local model, no: conversations stay in a folder on your machine. The editor says it does not read chats; anonymous usage measurement is enabled only with your consent. A cloud model, on the other hand, necessarily receives your messages and attached files, like any online service.
Jan or LM Studio: which should you choose?+
Jan mise sur un code sous Apache 2.0, des assistants et des projets, et un mélange local-cloud dans la même interface. LM Studio propose une application soignée, gratuite à la maison comme au travail depuis juillet 2025. Le plus simple : installez les deux, chargez le même modèle et gardez celui dont l'interface vous convient.
Did this guide help you?

Feedback, an error, or a clarification? Let us know—it improves the guide for everyone.