Hello, World

Welcome to Sketch’s Developer Site. We’ve worked very hard to make Sketch the dream “designer toolbox”, but everyone has slightly different needs, and there is a good chance that there’s a feature that you would like, which we’ve not implemented.

Luckily, Sketch includes a plugin engine so that developers can extend its functionality.

For example, there are already plugins out there to do such diverse things as design specs, content generation and perspective transformations.

Every week a new plugin comes out that does amazing stuff we hadn’t even thought possible!

What can you do with plugins?

Plugins in Sketch can do anything a user can do. For example:

  • Select layers inside a document, based on complex rules
  • Manipulate layer properties
  • Create new layers
  • Export assets in all supported formats
  • Interact with the user (ask for input, display output)
  • Get data from external files and web services
  • Interact with the clipboard
  • Manipulate Sketch’s environment (editing guides, zoom, etc…)
  • Automate existing features by calling menu options from plugins

With a bit of code (or in some cases, a lot of code!), you can extend Sketch with a plugin to do pretty much anything you need.

If you want to learn how to do that, you’ve come to the right place.

Sections

We’ve divided the contents into four parts:

  1. Introduction, which is a general overview of the scripting features in Sketch.
  2. Examples, some example plugins and code snippets which will help to get you started.
  3. Reference, which is a detailed list of key classes, methods and actions that you can use.
  4. Resources, with links and pointers to resources you may find useful as a plugin developer.

Help us improve!

If you find any error or omission on the documentation, or you’d like us to cover or clarify something, just file an issue and we’ll try to fix it. Of course, since all the content on this site is open source, you can help us improve by suggesting an edit on GitHub (there’s also an “Improve this page” link at the bottom of every page, in case you find something wrong while browsing the site).

See something wrong or incomplete? Improve this page.