TOML Editor online

Code

Export

My documents

Click a document to open it. They are stored only in this browser - nothing is uploaded. Clearing the browser's site data removes them, so download the ones you want to keep.

AI Assistant

Any AI can work with you - ChatGPT, Claude, Gemini, Copilot.

  1. Click Copy prompt.
  2. Paste it into your AI and say what it should change.
The AI should

The document travels in the link after the “#”, which no server sees. What you paste into your AI is handled by its provider.

Save to your server

The editor can send each saved version to your own server (a webhook), so your work is kept where you want it. Nothing is sent until you enter an address here.

What your server receives

A POST request with JSON (your server must allow CORS from https://toml.giit.ch); content is the document as a string:

{ "editor": "toml", "event": "save", "id": "…", "name": "Settings",
  "content": "debug = false\nport = 8080\n",
  "updated": "2026-01-15T09:30:00.000Z" }
Embed the editor in your website
<iframe src="https://toml.giit.ch/?embed=1" style="width:100%;height:80vh;border:0"></iframe>
<script>
const frame = document.querySelector('iframe');
addEventListener('message', e => {
  if (e.origin !== 'https://toml.giit.ch' || e.source !== frame.contentWindow) return;
  if (e.data.type === 'tomleditor:ready')
    frame.contentWindow.postMessage({ type: 'tomleditor:load', name: 'Settings',
      content: settingsToml }, 'https://toml.giit.ch');
  if (e.data.type === 'tomleditor:save') saveOnYourServer(e.data.content);
});
</script>

Also possible: ?src=<URL of a .toml file> opens a file, &webhook=<URL> saves this document there. The editor can also open in a window of its own (?embed=window), and your page can hand it its own AI prompt and a session key so the AI sends its result to your server (tomleditor:ai, tomleditor:key-request) - see "Use the editor on your own website" below the editor. Details are in llms.txt.

Help

How it works

  1. Write TOML on the left - or start with New and one of the templates. The tree in the middle shows the data as you type: tables and arrays fold, every value shows its type, {3} and [5] count the entries, and a table written in several places is one entry.
  2. Click a key or a value in the tree to change it right there. Enter or a click elsewhere writes the change into the code at exactly that place - comments and formatting stay (one step for Undo), Escape cancels. The buttons above the tree add, duplicate, move and remove entries and change the type of a value.
  3. A click in the tree puts the code's cursor on that value; the cursor in the code marks its value in the tree. The path of the selected value ($.items[3].name) is below the tree. Dates and times are marked with their kind.
  4. Problems (a key or a table defined twice, a value without quotes, a number or date that is not valid, what does not fit the schema) are listed above the code with line and column - click one to go there.
  5. Value on the right shows the selected key and value; Insert adds entries and pieces of code; Convert formats the document or converts it to JSON, YAML, CSV or XML; Schema checks it against a JSON Schema from your documents.
  6. My documents (the folder button at the top left) lists every document kept in this browser. Export saves it as TOML, JSON, YAML, CSV or text.
  7. Export also has Open in another editor: it converts the document and opens it as a new document there. Anything the other format cannot hold is listed first.

Keyboard shortcuts

↑ ↓ ← →
In the tree: go up and down, fold and unfold
Enter
In the tree: change the value (F2: the key)
Delete
In the tree: remove the entry
Alt + ↑ / ↓
In the tree: move the entry up / down
Ctrl + F
Search keys and values in the tree
Ctrl + Shift + F
Format the document
Tab / Shift + Tab
Indent / outdent in the code
Ctrl + /
Comment lines in or out (#)
Ctrl + Z / Y
Undo / redo
Ctrl + S / E
Save (download, or to your server) / export
Ctrl + O
My documents

Enter keeps the indentation of the line, and after [ or { it indents one step. Quotes and brackets close by themselves around a selection.

Edit TOML online, as code and as a tree

The TOML Editor shows your TOML code and the data as a tree side by side: pyproject.toml, Cargo.toml, the settings of Hugo, Netlify or your own app. Fold tables and arrays, see the type and the number of entries of every value, and change keys and values right in the tree - the change goes into the code at exactly that place, and your comments and formatting stay. Errors are listed with line and column, from a key defined twice to a date that does not exist, and the data can be checked against a JSON Schema and converted to JSON, YAML, CSV or XML.

Everything runs in your browser. Your documents are kept there, not on our server, and there is no sign-up and no advertising.

What the editor can do

Code and tree

Highlighted TOML 1.0 on the left, the foldable tree in the middle. A click in the tree jumps to the code, the code cursor marks its value in the tree.

Edit in the tree, keep the comments

Change keys and values, add, duplicate, move and remove entries, change a type - each as a small edit of the code, so comments and blank lines stay where they are.

Errors you can find

Keys and tables defined twice, text without quotes, numbers with a leading zero, dates that do not exist and values that do not fit your JSON Schema, each with its line and column.

Tables in many places

Tables like [server], arrays of tables like [[servers]], dotted keys like server.port and inline tables like { x = 1 } make one tree. A renamed key changes in every header that names it.

Convert

Format with one layout, or convert to JSON, YAML, CSV (an array of tables is a table) and XML. JSON, YAML, CSV and XML files open as TOML.

Many documents

Keep any number of documents in your browser, with their own undo history, and download them all as a ZIP.

How it works

  1. Start - choose a template under "New" (pyproject.toml, Cargo.toml, a Hugo site, Netlify), open a .toml file or paste TOML.
  2. Edit - in the code or in the tree; both always show the same data.
  3. Check and export - fix the listed problems, choose a schema, and download TOML, JSON, YAML, CSV or text.

Use the editor on your own website

Put the editor into your own website with an iframe or in a window of its own. Your page hands it the document, gets every change and every save back, and can let an AI send its results to your server. No sign-up, no key.

Embed the editor on your website →

Frequently asked questions

Is my data uploaded?

No. The editor runs in your browser and keeps your documents there, not on our server. A document goes to a server only if you set up a webhook to your own server, if a website that embeds the editor saves it on its own server, or if another website opens it here with a form (post.php) - our server then passes it straight to your browser without storing it. As on any website, the server logs each visit, and we count page views anonymously - see the privacy policy.

Are my comments kept when I edit in the tree?

Yes. A change in the tree is written into the code at exactly that place; comments, blank lines and the rest of the formatting stay as they are. Undo takes every change back.

Which TOML does it read?

TOML 1.0: tables, arrays of tables, dotted keys, inline tables, the four kinds of strings, integers in decimal, hexadecimal, octal and binary, floats with inf and nan, and dates and times. It accepts what Python's tomllib accepts and reports everything else with line and column - a key or a table defined twice, a number with a leading zero, a date that does not exist.

What about a table that is written in several places?

The tree shows it once, with all its keys. Renaming it changes every header and dotted key that names it. A change that cannot be made in place - moving a table that is spread over the file, for example - is refused with a message instead of rewriting your file.

Can it convert TOML to JSON, YAML, CSV or XML?

Yes, in the Convert tab or under Export; dates and times become text. JSON, YAML, CSV and XML files you open are converted to TOML. TOML has no null, so empty values are left out, with a note.

Where are my documents saved?

Only in your browser. Click the folder button at the top left (My documents) to open, rename, duplicate, download or delete them. Clearing your browser's site data removes them, so download the ones you want to keep - or let the editor send them to your own server ("Save to server").

Can an AI write in the TOML Editor?

Yes, any AI - ChatGPT, Claude, Gemini, Copilot or the AI in your coding tool. Click "AI Assistant", then "Copy prompt", paste it into your AI and say what it should change. The AI answers with a link; click it and the data appears in your editor. "Undo" takes every change back.

Does the TOML Editor cost anything?

No. The editor is free, without ads and without sign-up.