# FreeSpark

> Free AI that runs on your own device.

Canonical page: https://pyrosoft.pro/software/freespark

Status: active
Platforms: Web

FreeSpark is an AI assistant that lives in a browser tab. It picks an open language model your device can handle and runs it on your own GPU through WebGPU, so there is no account to create, no subscription and no daily message cap. Your chats, notes and settings stay in the browser's own storage. Around the model, FreeSpark does the legwork in ordinary code: it routes each request, gathers the date, your notes, files and any web results before the model starts, then checks figures and links after it answers. PyroSoft calls this Model + Spark. FreeSpark can search the web and cite up to three pages, read PDFs, Word files, spreadsheets and images without uploading them, run Python with numpy, pandas and matplotlib, make pictures with Janus-Pro-1B, and talk with on-device Whisper and Kokoro voices. You need a browser with WebGPU, such as a current Chrome, Edge or Safari. The first start downloads a model that can be a few gigabytes; after that it loads from the browser's cache. Web lookups are on by default and can be switched off, after which nothing about your requests leaves the device.

Price: Free.

## Requirements

A browser with WebGPU, such as a current Chrome, Edge or Safari; opening a workspace folder also needs the File System Access API. Speed, model size and answer quality vary by device.

## Features

- Runs open language models on your own GPU via WebGPU; Auto picks one that fits
- 53 switchable tools, each with its own switch in Settings
- Web research that reads up to three pages and cites them; one switch turns it off
- Reads PDFs, Word, spreadsheets, CSV, code and images in the browser, never uploaded
- On-device Python with numpy, pandas, matplotlib and scipy; charts appear in chat
- Pictures with Janus-Pro-1B; voice with Whisper and Kokoro, all on your device
- Workspace folder edits are shown first with Apply and Reject
- Notes every chat can see, plus automations that run every N minutes or daily

## How to get it

- [Open web app](<https://freespark.app/>)
- [Project website](<https://freespark.app/>)

## Recorded details

- First release: September 2026
- Tech: WebGPU, WebLLM, Transformers.js, Pyodide

## Screenshots

![The FreeSpark app at freespark.app: a model picker set to Auto · Qwen3.5 (9B) with a Start button, a card reading “Your device. Your AI.”, and suggestion chips under “What can I help with?”](https://pyrosoft.pro/store-assets/media/24a5b4c233-960.webp)
![FreeSpark Settings: the model memory estimate, a “Things to remember” notes box, Whisper speech-recognition choice and the realistic voice option](https://pyrosoft.pro/store-assets/media/f3b9416a8b-960.webp)
![FreeSpark Settings: switches for web lookups, file-change approval and planning, then the Compute tool list with calculator, run_javascript, run_python, make_chart and more, each with its own switch](https://pyrosoft.pro/store-assets/media/eaca73542b-960.webp)
![FreeSpark Automation dialog with name, prompt, a repeat choice of every N minutes, a minutes field and a desktop-notification switch](https://pyrosoft.pro/store-assets/media/c63c6a22cc-960.webp)
![FreeSpark About dialog: how it works, a table of what runs on your device versus optionally over the internet, and what the server keeps](https://pyrosoft.pro/store-assets/media/22a9dd6a87-960.webp)

## Questions

### Is it really free?

Yes. There's no account, subscription or daily message cap, because the model runs on your hardware rather than a paid server. FreeSpark shows no ads; the only thing in it that asks for money is an optional link to buy the creator a coffee.

### Why is the first start slow?

The first time, FreeSpark downloads the model, which can be several gigabytes. After that it is cached and starts in seconds. If you'd rather press Start yourself, switch off "Start the AI when the page opens" in Settings.

### Will it run on my phone?

If the browser supports WebGPU, FreeSpark offers the models that fit. Phones get smaller ones: on a phone or tablet the browser tends to close a WebGPU tab past roughly 1.5 GB, so FreeSpark keeps the model well under that, and if the browser ever closes the page it switches on Low-memory mode by itself.

### Can it work offline?

Turn off "Look things up on the web" and your requests stay on the device. FreeSpark still downloads models and runtimes the first time it needs them, and the page itself loads from freespark.app.

### Can it change my files?

Only inside a folder you choose to open. By default every change is shown first with Apply and Reject, and earlier versions are kept.

### Which models can it run?

Open models built for the browser, from 30 families in the picker, including Llama, Qwen, Gemma, Phi, Mistral, DeepSeek R1 Distill and SmolLM2. Auto picks one that fits your device, and MLC builds from Hugging Face can be added in advanced settings.

## Related guides and journals

- [Route, gather, then write the answer once](https://pyrosoft.pro/blog/route-gather-then-write-the-answer-once.md)
- [Checking whether Spark actually helps the model](https://pyrosoft.pro/blog/checking-whether-spark-actually-helps-the-model.md)
- [Making local work survive the next conversation](https://pyrosoft.pro/blog/making-local-work-survive-the-next-conversation.md)
- [FreeSpark: useful AI on the hardware you already have](https://pyrosoft.pro/blog/freespark-useful-ai-on-the-hardware-you-already-have.md)
