Create your first Adobe XD CC Plugin

NOTE: Currently available to Adobe Partners only.

Convert your PSD or AI to Adobe XD CC Plugins with full HTML, CSS and JavaScript support in minutes. The PSD and AI to XD Plugin conversion is quick and easy with integrated features to support for Element mapping, Screen Pages and more.

PSD and AI to Adobe XD Plugins is an advanced export and requires a general understanding of JavaScript to modify the code.

IMPORTANT: XD Plugins is ALPHA, additional features to come in future updates.
IMPORTANT: XD Plugins are advanced exports and require customizations in the code to make the XD Plugin fully functional.

PSD / AI to Adobe XD Plugins Video Preview

Create Adobe XD Plugins with your PSD or AI file using Export Kit. Render a full XD Plugin from Photoshop or Illustrator with all elements, layouts and assets.

Step 1: Create Your Design

You can create any design to use as your XD Plugin UI with full support for all layer types and effects. All layers and folders are processed following our Design Rules. The more layers and folders, the better the export.

TIP:  A quick workaround to correct missing features is to use ${img} tag with the layer until the feature is supported, then re-export without the tag later.

Element Rendering

Export Kit will convert your PSD and AI layers to pure JavaScript elements with relative positioning to its respective parent in your XD Plugin. You designs will render WYSIWYG (What you see is what you get), this means you must target the correct device screen size to get pixel-perfect translation of your PSD and AI to Adobe XD Plugins.

NOTE: XD Plugins do not currently support all HTML5 and CSS3 features.  Refer to the XD Plugin Documentation for more details. 

Image Rendering

Images are rasterized and rendered as-is in the skins folder. There are no special requirements to process images, export resolutions are based on your PSD or AI settings.

Example Image Element

let layer_1 = document.createElement("img");
layer_1.id = "layer_1";
layer_1.style.left = "-6px";
layer_1.style.top = "31px";
layer_1.style.width = "302px";
layer_1.style.height = "305px";
layer_1.src = "/skins/layer_1.png";
IMPORTANT: All XD Plugins are self-contained and will link the skins folder locally.

Shape Rendering

Export Kit will convert Shape Elements from your design to native JavaScript elements within your XD Plugin. Shapes do not require any special settings for processing, easily use the shape tool along with your required options; Export Kit will do the rest.

Example Shape Element

let ellipse_1 = document.createElement("div");
ellipse_1.id = "ellipse_1";
ellipse_1.style.left = "-2px";
ellipse_1.style.top = "-2px";
ellipse_1.style.width = "81px";
ellipse_1.style.height = "81px";
ellipse_1.style.borderRadius = "39px / 39px";
ellipse_1.style.background = "#0076A3";
Learn more about Shape Support and how Export Kit processes shapes.

Text Rendering

Export Kit has great Text Support for justification for left, center and right; including various character styles and paragraphs. There are no special requirements for text processing: select the text tool, font, and settings = done!

Example Text Element

let ek_lightning_storm_3 = document.createElement("div");
ek_lightning_storm_3.innerHTML = "Export Kit<br/>Lightning Storm CC";
ek_lightning_storm_3.style.textAlign = "left";
ek_lightning_storm_3.id = "ek_lightning_storm_3";
ek_lightning_storm_3.style.left = "27px";
ek_lightning_storm_3.style.top = "393px";
ek_lightning_storm_3.style.width = "130px";
ek_lightning_storm_3.style.height = "37px";
ek_lightning_storm_3.style.fontFamily = "MyriadPro-Bold, Arial, Helvetica, sans-serif";
ek_lightning_storm_3.style.fontSize = "14px";
ek_lightning_storm_3.style.overflow = "hidden";
ek_lightning_storm_3.style.color = "#000000";
IMPORTANT:  XD does not currently support "Underline", "Srike" or "Caps" - these will come in a future release.  
TIP:  Use ${img} tag, until these features are supported.
Learn more about Text Support and how Export Kit processes text.

Font Rendering

XD does not currently support custom/web fonts.

TIP:  Use ${img} tag with text layers that use custom fonts. 

Layer Effects

XD does not currently support CSS3 effects.

NOTE:  "Stroke Effect" is available with shapes only. 
TIP:  Use ${img} tag with text layers that use custom effects. 

Step 2: Name and Organize your Layers

Your layer names will be reflective in your Output. Because Export Kit will render WYSIWYG, you will need clear layer names to further customize your JavaScript after the export. The export process will convert layers regardless of their names, but having clear layer names will optimize the time it takes you to find your layer in your code.

Read more about our Layer Naming Rules for additional information.

Use Valid Names

You should always use valid and common layer names with your content to ensure readable output. When you use incorrect layer names, most environments will throw errors as not all naming conventions are valid.

IMPORTANT: JavaScript elements must start with a letter "a-z and A-Z" or underscore "_". 
Learn more about Using Valid Layer Names.

Use Unique Names

All code environments require elements with unique names for correct rendering. Export Kit will do its best to add a unique identifier to each element (if the element name was previously used), but this is not 100% guaranteed.

We strongly recommend you use unique names in your PSD or AI file otherwise your output will likely have JavaScript errors – learn more.

Organize Folders and Layers

We encourage you to use as many layers and folders to design your PSD or AI as possible. The more layers the better! You should always group your layers into folders if they are related.

Step 3: Use ${link} and ${page} Tags for Navigation

You can create an unlimited number of Screen Pages within your XD Plugin to further customize your export. Each Screen Page can contain a unique layout for optimal performance.

TIP: Your project and page names must start with [a-zA-Z_] - letters and underscore only.
Use ${page} Tags to create unlimited Screen Pages in your XD Plugin design.

Link Screen Pages

Use our ${link} Tags to connect Screen Pages and allow the end-user to navigate your XD Plugin via native click actions. Links work with any PSD or AI layer and will navigate to the supplied Screen Page.

NOTE: You do not need to add extensions to links, just use the Screen Page name.
EXAMPLE: If you have ${page:plugin_home} then you can use ${link:plugin_home} to connect the two.
Use Link Tag to connect Screen Pages.

Step 4: Update the Document Meta Info

Your document meta is used in your XD Plugin output to name your application along with your plugin meta.

NOTE: Press Ctrl + Shift + Alt + i to access the document meta, or go to File > File Info.

Step 5: Export

Export Kit allows you to customize your Output with Layer Options and Output Options before you export to personalize your project.

TIP: XD Plugin Exports are pre-customized for the best output, options do not need to change.
Read more about using Export Kit and Export Kit Pro.

Avoid Output Errors

Make sure you read and understand our Design Rules and Layer Naming Rules to avoid visual errors in your Output.

Make sure you read and go over our Before You Export Check List to avoid functional errors in your Output.

BUG:  Plugin not visible
FIX:  Use letters [a-zA-Z] and underscore [_] with your names
BUG:  Plugin screen pages did not load
FIX:  Add your main Screen Page with ${page:index}
BUG:  Output does not look like the design
FIX:  Use ${img} tag with problematic layers

Step 6: Copy the output folder


Your output files are located in the same directory as your PSD or AI file. Copy the output folder.

Step 7: Paste into your local plugins path

Paste your output folder into your local XD plugins directory to test.

TIP:  Refer to your XD Plugin Development documentation for the correct plugins path with both Win and Mac.

Step 8: Open Adobe XD and load the Plugin

Once you open Adobe XD, navigate to File > Plugins > [YOUR_PLUGIN].

Example XD Plugin

TIP:  Use ${link} Tags to connect your Screen Pages.
TIP:  A quick workaround to correct missing features is to use ${img} tag with the layer until the feature is supported, then re-export without the tag later.

Step 9: Modify the Code

Now you are ready to build your amazing XD Plugin. All your assets, elements and layouts are ready to go. Once your plugin is loaded and the UI is verified, you can begin to modify the code or take the simple approach and pass the code to a developer.

LOGIN NOW: Get instant access to our free Online Training - click here.

02. Using The Plugin

03. Layer Support

04. Basic Exports

05. Layer Tags

06. Optimization Tips

07. Complete Exports

🚀 Start saving time and money!