Made for Astro content collections

The CMS experience your Astro content deserves

Astro Editor reads your Zod schemas and transforms frontmatter into smart forms. Get validation, proper field types, and MDX component insertion — all in a beautiful interface inspired by iA Writer.

See it in action

Schema-aware frontmatter forms meet distraction-free writing. Your content collections, beautifully organized.

Astro Editor interface showing file sidebar, markdown editor, and schema-aware frontmatter forms
File Sidebar
Collections & drafts organized by date
Clean Editor
Markdown without the YAML clutter
Smart Forms
Auto-generated from your Zod schemas

Most Astro developers work in two modes: coder mode for components and deployment, writer mode for content. Code editors excel at the former but overwhelm the latter with distractions and YAML complexity. Astro Editor focuses purely on writer mode—no git, no preview, no deployment—just beautiful, distraction-free writing with intelligent frontmatter forms that understand your schemas.

Focus mode

Eliminate distractions with focus mode. Only your current sentence stays bright while everything else fades away.

Perfect for deep writing sessions when you need to concentrate on one thought at a time.

Focus mode highlighting only the current sentence

Copyedit highlighting

Analyze your writing with color-coded parts of speech. Spot overused adverbs, check verb consistency, and improve your prose.

Toggle individual highlights for nouns, verbs, adjectives, adverbs, and conjunctions.

Editor with copyedit highlighting showing different parts of speech in colors

MDX component insertion

Press Cmd+/ in MDX files to instantly insert Astro components. Configure props visually, then tab through to fill values.

Reads your component props automatically from your project's MDX component directory.

MDX component insertion panel showing component props configuration

Beautiful dark interface

Inspired by iA Writer's clean aesthetics. Custom syntax highlighting makes your markdown beautiful without overwhelming your content.

Light and dark themes with thoughtful typography designed for long writing sessions.

Dark mode interface showing clean editor with syntax highlighting

Everything you need to edit Astro content

Thoughtful details for teams and solo creators — designed to keep you in flow.

Schema-aware frontmatter

Reads your Zod schemas from content.config.ts. Dates become date pickers, enums become dropdowns, arrays become tag inputs.

Smart image handling

Drag images into your editor. They're automatically copied to your assets folder with web-safe names and proper markdown links.

Writer mode, not coder mode

Focus mode dims everything but your current sentence. Typewriter mode keeps your cursor centered. Write without distractions.

Command palette

Press Cmd+K for instant access. Fuzzy search files across collections, execute commands, switch projects — all keyboard-driven.

MDX component insertion

Press Cmd+/ in MDX files to insert Astro components. Configure props visually, then tab through to fill values.

Auto-save & crash recovery

Saves every 2 seconds while you write. Full crash recovery means you never lose work, even if the app quits unexpectedly.

How it works

  1. 1

    Open your Astro project

    Point to any Astro 5+ project with content collections. Schemas are read from your content.config.ts automatically.

  2. 2

    Write without friction

    Frontmatter fields become smart forms. YAML stays hidden. Focus purely on your content.

  3. 3

    Stay in your workflow

    Use your IDE for code, terminal for git. Astro Editor handles the writing. Each tool does what it does best.

import { defineCollection, z } from "astro:content";

const posts = defineCollection({
  type: "content",
  schema: z.object({
    title: z.string(),
    featured: z.boolean().default(false),
    date: z.date(),
    tags: z.array(z.string()).default([]),
    description: z.string().optional()
  })
});

export const collections = { posts };

Your schemas define the editing experience. No configuration needed.