{
  "@context": [
    "https://schema.org",
    {
      "nuanyue": "https://www.nuanyue.com/ns#"
    }
  ],
  "@type": "SoftwareApplication",
  "@id": "https://www.nuanyue.com/software/espanso/#software",
  "name": "Espanso",
  "description": "Cross-platform text expander written in Rust, with regex triggers, forms and a package manager.",
  "url": "https://www.nuanyue.com/software/espanso/",
  "mainEntityOfPage": "https://www.nuanyue.com/software/espanso/",
  "operatingSystem": "macOS",
  "applicationCategory": "BusinessApplication",
  "sameAs": [
    "https://espanso.org",
    "https://github.com/espanso/espanso"
  ],
  "softwareVersion": "2.4.1",
  "license": "GPL-3.0",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "nuanyue:record": {
    "schemaVersion": 1,
    "id": "software:espanso",
    "slug": "espanso",
    "name": "Espanso",
    "type": "SoftwareApplication",
    "entityType": "text expander",
    "description": "Cross-platform text expander written in Rust, with regex triggers, forms and a package manager.",
    "shortDescription": "Cross-platform text expander written in Rust.",
    "answer": "Espanso is a cross-platform text expander written in Rust. It detects a keyword you type and replaces it with something else — a sentence, a code snippet, a shell command's output, or an emoji. It runs on Windows, macOS and Linux, works with almost any program, and is 100% local with no tracking. Beyond plain replacement it supports regex triggers, Forms, app-specific configurations, date expansion, image expansion, custom scripts and shell commands, and ships a built-in package manager for the espanso hub.",
    "page": "https://www.nuanyue.com/software/espanso/",
    "dataUrl": "https://www.nuanyue.com/data/software/espanso.json",
    "categories": [
      "productivity"
    ],
    "tags": [],
    "platform": [
      "macOS"
    ],
    "architecture": [],
    "featured": false,
    "pricing": "open-source",
    "license": "GPL-3.0",
    "currentVersion": "2.4.1",
    "releaseDate": "2026-09-02",
    "openSource": true,
    "website": "https://espanso.org",
    "github": "https://github.com/espanso/espanso",
    "download": "https://github.com/espanso/espanso/releases/download/v2.4.1/Espanso-Mac-Universal.dmg",
    "features": [
      "Cross-platform: Windows, macOS and Linux",
      "100% local, no tracking",
      "Works with almost any program",
      "Regex triggers, not just fixed keywords",
      "Forms, for prompts with several fields",
      "App-specific configurations",
      "Date expansion, image expansion, custom scripts and shell commands",
      "Built-in package manager for the espanso hub"
    ],
    "useCases": [
      "Expanding a typed abbreviation into a long email reply or code block",
      "Running a shell command and inserting its output where you are typing"
    ],
    "formats": [],
    "integrations": [],
    "pros": [
      {
        "text": "Free and open source under GPL-3.0, cross-platform on Windows, macOS and Linux.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "100% local with no tracking — the project states this as its first key feature.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "Supports regex triggers rather than fixed keywords only, so a trigger can match a pattern instead of one string.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "Configuration is file-based, with a built-in package manager for the espanso hub — so matches can be version-controlled and shared like code.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "cons": [
      {
        "text": "Wayland support is explicitly experimental, so a Linux desktop on Wayland may not work reliably.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "It is written in Rust but the project still labels the build as maintained rather than stable at any particular version, so behaviour can change between releases.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "text": "Expansion happens in whatever app you are typing in, so a program that does not accept standard text input will not see it.",
        "status": "editorially-reviewed",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "whoIsItFor": [
      "People who retype the same sentences and want one keyword to replace them",
      "Users who need the same snippets on Windows, macOS and Linux"
    ],
    "notFor": [
      "Anyone who needs the expansion to travel between machines through a cloud account — matches live in local files"
    ],
    "limitations": [],
    "updates": [],
    "faq": [
      {
        "question": "What does Espanso do?",
        "answer": "It detects a keyword you type and replaces it with something else — a sentence, a code snippet, a command's output or an emoji.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "question": "Does Espanso work on Windows and Linux?",
        "answer": "Yes. It is cross-platform on Windows, macOS and Linux, though Wayland support is experimental.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "question": "Does it send my text anywhere?",
        "answer": "No. The project states it is privacy-first and 100% local, with no tracking.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "question": "How do I get more snippets?",
        "answer": "Through the built-in package manager, which installs packages from the espanso hub at hub.espanso.org.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "relationships": [
      {
        "target": "snippetcraft",
        "type": "alternative",
        "reason": "Both are macOS text expanders. SnippetCraft is a native Mac app; Espanso is a Rust build that also runs on Windows and Linux.",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "target": "keyboard-maestro",
        "type": "alternative",
        "reason": "Both expand typed text. Keyboard Maestro is a broad automation suite with a paid licence; Espanso does expansion only, is free and cross-platform.",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      },
      {
        "target": "alttab",
        "type": "complements",
        "reason": "Both are free, open-source developer tools written in a systems language; they do unrelated jobs and pair on a developer Mac.",
        "verifiedAt": "2026-10-16T00:00:00.000Z"
      }
    ],
    "sources": [
      {
        "id": "espanso:official",
        "type": "official_website",
        "url": "https://espanso.org",
        "title": "Espanso — official website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "espanso:repository",
        "type": "github",
        "url": "https://github.com/espanso/espanso",
        "title": "Espanso — source repository",
        "trustLevel": "D",
        "accessedAt": null
      }
    ],
    "claims": [
      {
        "id": "software:espanso.isA",
        "subject": "software:espanso",
        "predicate": "isA",
        "value": "text expander",
        "status": "editorially-reviewed",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.supportsPlatform",
        "subject": "software:espanso",
        "predicate": "supportsPlatform",
        "value": [
          "macOS"
        ],
        "status": "verified",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.officialWebsite",
        "subject": "software:espanso",
        "predicate": "officialWebsite",
        "value": "https://espanso.org",
        "status": "verified",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.listedInCategory",
        "subject": "software:espanso",
        "predicate": "listedInCategory",
        "value": [
          "productivity"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.pricingModel",
        "subject": "software:espanso",
        "predicate": "pricingModel",
        "value": "Open source",
        "status": "developer-stated",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.ownership",
        "subject": "software:espanso",
        "predicate": "ownership",
        "value": "Third-party product — not published by Nuanyue",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:espanso.isOpenSource",
        "subject": "software:espanso",
        "predicate": "isOpenSource",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "espanso:repository",
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.licensedUnder",
        "subject": "software:espanso",
        "predicate": "licensedUnder",
        "value": "GPL-3.0",
        "status": "verified",
        "sourceIds": [
          "espanso:repository",
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.currentVersion",
        "subject": "software:espanso",
        "predicate": "currentVersion",
        "value": "2.4.1",
        "status": "developer-stated",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.hasFeature",
        "subject": "software:espanso",
        "predicate": "hasFeature",
        "value": [
          "Cross-platform: Windows, macOS and Linux",
          "100% local, no tracking",
          "Works with almost any program",
          "Regex triggers, not just fixed keywords",
          "Forms, for prompts with several fields",
          "App-specific configurations",
          "Date expansion, image expansion, custom scripts and shell commands",
          "Built-in package manager for the espanso hub"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.usedFor",
        "subject": "software:espanso",
        "predicate": "usedFor",
        "value": [
          "Expanding a typed abbreviation into a long email reply or code block",
          "Running a shell command and inserting its output where you are typing"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.audienceFor",
        "subject": "software:espanso",
        "predicate": "audienceFor",
        "value": [
          "People who retype the same sentences and want one keyword to replace them",
          "Users who need the same snippets on Windows, macOS and Linux"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.audienceNotFor",
        "subject": "software:espanso",
        "predicate": "audienceNotFor",
        "value": [
          "Anyone who needs the expansion to travel between machines through a cloud account — matches live in local files"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "espanso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:espanso.advantage.0",
        "subject": "software:espanso",
        "predicate": "advantage",
        "value": "Free and open source under GPL-3.0, cross-platform on Windows, macOS and Linux.",
        "status": "verified",
        "sourceIds": [
          "espanso:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:espanso.advantage.1",
        "subject": "software:espanso",
        "predicate": "advantage",
        "value": "100% local with no tracking — the project states this as its first key feature.",
        "status": "verified",
        "sourceIds": [
          "espanso:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:espanso.advantage.2",
        "subject": "software:espanso",
        "predicate": "advantage",
        "value": "Supports regex triggers rather than fixed keywords only, so a trigger can match a pattern instead of one string.",
        "status": "verified",
        "sourceIds": [
          "espanso:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:espanso.advantage.3",
        "subject": "software:espanso",
        "predicate": "advantage",
        "value": "Configuration is file-based, with a built-in package manager for the espanso hub — so matches can be version-controlled and shared like code.",
        "status": "verified",
        "sourceIds": [
          "espanso:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:espanso.drawback.0",
        "subject": "software:espanso",
        "predicate": "drawback",
        "value": "Wayland support is explicitly experimental, so a Linux desktop on Wayland may not work reliably.",
        "status": "verified",
        "sourceIds": [
          "espanso:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:espanso.drawback.1",
        "subject": "software:espanso",
        "predicate": "drawback",
        "value": "It is written in Rust but the project still labels the build as maintained rather than stable at any particular version, so behaviour can change between releases.",
        "status": "developer-stated",
        "sourceIds": [
          "espanso:repository"
        ],
        "lastVerified": "2026-10-16"
      },
      {
        "id": "software:espanso.drawback.2",
        "subject": "software:espanso",
        "predicate": "drawback",
        "value": "Expansion happens in whatever app you are typing in, so a program that does not accept standard text input will not see it.",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": "2026-10-16"
      }
    ],
    "lastUpdated": "2026-10-16T00:00:00.000Z",
    "lastReviewedAt": null
  }
}