# Sharing Libraries

> Learn how to share Sketch Libraries with the help of our step-by-step guides and video tutorials.

**URL:** https://www.sketch.com/docs/libraries/sharing-libraries/ | **Last updated:** 2026-01-23

---
Sharing Libraries via your Workspace is the best way to make sure everybody uses the right components in their designs. You can also upload a Library to a server and use RSS for updates.

## Sharing via your Workspace

Open the document you want to use as a library and click on **File** > **Document Settings** > **General**. Select (Set As) **Library** and close the window.

 Once this is done, you’ll find the Library in **Sketch** > **Settings** > **[Libraries](/docs/interface-and-settings/mac-app-settings/libraries/)** alongside other Libraries from any Workspace you belong to. Scroll or search to find the Libraries you need and click on the checkbox to enable them.

Find the document you want to use as a Library, hover over its thumbnail, click the button and select **Settings**. Set the document as a Library and click **Update**.

The Library will now appear in the Libraries section on the Workspace’s sidebar and it can be added from the web app by hovering over the Library thumbnail, clicking on the button and selecting **Add Library** to add it to Sketch.

## Sharing a Library publicly
You can share your Workspace Libraries publicly. Anyone with the library link will be able to install it and use its Components and get notified of available updates.

[Adjust the document permissions](/docs/sharing-and-collaborating/sharing-and-viewing-documents/managing-share-settings/#sharing-a-document-via-public-link/) so anyone can access it. Once this is done your Library will be publicly available.

<!-- ![An animation showing how to download and use a Library in the Mac app.](https://cdn.sketch.com/docs/libraries/team-library-70@2x.mp4) -->

## Hosting a Library on a server

You’ll first need to host your Library document on a server, then create a JSON file that looks like this:

```json
{
"versionID" : "0.5.1",
"downloadURL" : "https://my.server.com/TemplateLibrary.sketch",
"downloadFileSize" : 68487516,
"creationDate" : "Wed, Mar 17 2022 14:00:00 +0000",
"itemName" : "Template Library",
"imageURL" : "https://my.server.com/TemplateLibrary.png"
}
```

Save the JSON, making sure you add the `.json` file extension to the filename. For the example above we have named it `TemplateLibraryUpdate.json`.

In the JSON file, edit the following fields as necessary using the dictionary keys and values below as a reference.

**Important:** Your JSON file, Library document, and thumbnail image **must** be served via `https`.

Use a tool like the Meyerweb URL encoder to encode your JSON file URL and append it to the Sketch app link as in the following:

`sketch://add-library?url=https%3A%2F%2Fmy.server.com%2FTemplateLibraryUpdate.json`

The two parts of the example above are the Sketch app link to add a Library, `sketch://add-library?url=`, and the encoded Library document URL:
`https%3A%2F%2Fmy.server.com%2FTemplateLibraryUpdate.json`

To verify that everything’s working, enter the full URL (from `sketch://` through to the end your encoded URL) into your browser. Sketch should now launch and add your Library.

#### Dictionary keys and values

* `itemName` string: the Library’s display name. If it wasn’t provided, the final path component of the `downloadURL` with the file extension removed will be used instead. **Not required**
* `versionID` string: a unique version identifier **Required**
* `downloadURL` string: a URL as a string pointing to the Library document to download. **Required**
* `downloadFileSize` integer: the file size **in bytes** of the Library document described by `downloadURL`. **Required**
* `creationDate` string: a date as a string (conforming to the RFC822 date and time text format) describing when the Library version was created. **Not required**
* `imageURL` string: a URL as a string pointing to an image file that you can use to represent the Library in the Sketch UI until it’s downloaded and installed. **Not required**

**Note:** The `versionID` value doesn’t check whether one Library is newer than another. Sketch considers an update to be available if this value differs to the one that’s stored locally by Sketch.