Paintapp can reach files in several different places: folders on your computer that you have granted access to, its own storage inside the browser, and connected cloud services. Whenever a setting remembers a folder — a Quick Export destination, an OpenColorIO configuration folder — it has to record which of those places the folder is in, not just its name. This page explains the format those settings use, the Select button that fills them in, and how files are addressed when you open one in a browser tab.
See Using Local Files for how folder permissions work and why the browser sometimes asks again.
| Setting | Where |
|---|---|
| Destination Folder | Preferences → Quick Export |
All of them behave identically: a text box showing the location, and a Select button to pick one.
Settings that point at a single file rather than a folder — the OpenColorIO Configuration file, and file inputs on some filters — work the same way, with a file button that has the same dropdown.
Select is a split button. Clicking the main part of the button opens your preferred folder picker straight away. Clicking the small arrow on its right edge opens a menu with four entries:
| Menu entry | What it does |
|---|---|
| Select with Files Browser… | Opens Paintapp's own folder picker, which can reach every place Paintapp knows about — granted folders, app storage and connected cloud services. |
| Select with Native Picker… | Opens your operating system's folder dialog. This is the only picker that can grant access to a folder Paintapp has never seen before. |
| Use Files Browser by Default | Makes the main button use Paintapp's picker. |
| Use Native Picker by Default | Makes the main button use the operating system dialog. |
This is the same arrangement as File → Open… and File → Save As…, which have their own split buttons in the File menu. On a file button the first two entries read "Save with…" instead of "Select with…" when the setting is choosing where to write a file.
| Setting | Shares its default with |
|---|---|
| Any folder setting | File → Save As… |
| A file to read (Configuration file) | File → Open… |
| A file to write | File → Save As… |
If you have not chosen a default, Paintapp's own Files Browser is used.
A location is a single line of text that names the storage first, then the path inside it:
local:TestFiles/quickexport
app:mypics
gdrive:Photos/2026
| Prefix | Where the folder is |
|---|---|
local: | A folder on your computer that you have granted access to |
app: | Paintapp's own storage inside the browser |
gdrive: | Google Drive |
dropbox: | Dropbox |
onedrive: | OneDrive |
Without it, a saved folder like TestFiles/quickexport is ambiguous — that could
be a folder on your disk or a folder in app storage, and there is no way to tell which one
was meant. For deciding where a dialog should open, guessing wrong is merely annoying. For a
Quick Export destination it would mean your files being written somewhere you did not
choose. The prefix removes the guess.
For local:, the path is relative to the granted folder, not an absolute
path on your disk. The browser never hands Paintapp a real disk path, so a location can only
refer to a folder you have granted and a path inside it. If you granted
D:\Download\TestFiles, then:
local:TestFiles/quickexport → D:\Download\TestFiles\quickexport
For app: and the cloud prefixes the path is relative to the root of that
storage.
Two granted folders with the same name — say TestFiles from two different
drives — cannot be told apart in a location, and the first one found wins. If you work with
same-named folders, grant a level higher up so the names differ.
The box is editable, and what it shows is exactly what is stored — there is no hidden second form. You can type a location by hand, and you can point at a subfolder that does not exist yet if the feature using it creates folders as needed.
A few rules apply to what you type:
D:\Download\TestFiles is left exactly as typed — in particular the
D: is not mistaken for a prefix — but it is not a location Paintapp can
follow, because it names a place the browser has not granted. Use Select
instead, which grants the folder and fills in the correct local: location.
app: paths are not case-sensitive. Paintapp's own storage
matches folder and file names regardless of capitalization, so app:Presets
and app:presets reach the same folder. A local: or cloud path
follows whatever the underlying filesystem or service does instead.
Quick Export offers two destinations, as a pair of radio buttons: Download, or a Destination Folder. They are alternatives — picking one turns the other off. (Export As is different: it always opens your operating system's save dialog, where you choose the folder and the name each time.)
Download is the default, and it is what a fresh install does before you have configured anything: one click and the file appears in your browser's downloads. It is also the only destination that works in every browser — Firefox has no File System Access support at all, so a destination folder cannot be granted there.
Choose a Destination Folder when you are exporting to the same place repeatedly and would rather the files land there directly than go through the downloads folder.
Both pickers try to start at the folder the setting currently points to, rather than at some default location. Paintapp's own picker navigates its folder tree to it and fills in the box at the bottom; the native dialog is asked to start there.
After a browser restart this may not work until you have re-granted the folder. Paintapp deliberately does not ask for permission just to decide where a dialog should open — a permission prompt would consume the click, and the picker would not open at all. So the first time you use Select in a new session the dialog may start somewhere else. Once the folder is granted again, it starts in the right place.
Right-clicking a file in the File Browser offers Open in new browser tab. What appears in the address bar depends on where the file lives.
These open at a readable address built from the file's own path:
http://localhost:8080/user/mypics/test.jpg
Paintapp's service worker — a small piece of the app the browser keeps running in the background — answers that request out of app storage. The address can be bookmarked and reopened later, and it survives closing the tab. It only works in the same browser on the same machine: nothing is uploaded anywhere, and the address means nothing to anyone else.
On the very first load of the app, before the service worker has started, this falls back to
a blob: address. Reload once and it will use the readable form.
These open as a blob: address — a long opaque string that is not readable and
stops working once the tab is closed.
This is a real limit rather than an oversight. The service worker holds no permission to your disk and no cloud sign-in; those live in the Paintapp tab itself. A readable address for such a file would fail the moment it was used the way an address is meant to be used — pasted into a fresh tab, or opened after a restart — which is worse than an address that is obviously temporary.
Some files download rather than opening in the tab: