Back to Plugins
IDML Export

IDML Export

Send your files to Indesign with maximum compatibility.

Plugin Preview

IDML Export preview

About this plugin

Requires macOS and a free companion app — Monochrome bridge. IDML Export turns your Figma frame into a real, editable InDesign document. Live text lands in live text frames, colours land as named CMYK and spot swatches, layers keep their structure, and images link back to your hi-res originals. Export it, open it in InDesign, and your production team can actually work in it: edit copy, swap a swatch, move a layer, without redrawing anything.Text comes across as real paragraph and character styles, matched by name against your house template so exports merge into the client's existing styles instead of inventing new ones.Colour comes across as spot or process CMYK swatches with tints and overprint, and you can save a mapping once per client and reuse it on every job after. Vectors keep their full bezier paths, per-corner radii, dashes and gradient strokes; auto-layout frames convert to Indesign's equivalent 'FLEX' where compatible.Nothing is silently substituted. Every export is preceded by a compatibility scan — a per-frame report of exactly what will come across cleanly, what will be approximated (and how), and what can't be converted at all. You see the compromises before you commit, not after your production team opens the file.Assembly runs through **Monochrome bridge**, a small, free companion app you install once on macOS. Figma plugins can't write files to disk or build a ZIP archive the size a real IDML needs, so the plugin talks to the companion over loopback only, nothing about your file ever leavesyour machine. The companion is signed and notarized by Apple, token-gated, and shuts itself down when idle.The free version offers a wireframe export test with limited features.Fully supportedText | Paragraph and character styles preservedText | Leading, tracking, case, decoration, baseline shift, indents, small caps, hanging punctuationText | Bulleted and numbered listsText | Wrap balancingColour | Spot and process CMYK swatch mapping, with tints and overprintColour | Saved, reusable colour mappings per clientLayout | Top-level frames → InDesign layers, with visibility and lock preservedLayout | Masks → clipping frames, including compound and rotated shapesVectors | Full bezier paths, compound subpaths, per-corner radii, dashes, caps, joins, gradient strokesImages | Linked (not embedded) from your job's `Links/` folder, matched by filename to the hi-res originalImages | Exported from Figma as linksEffects | Drop shadows, inner shadows, blurs, blend modes, opacityTransforms | Rotation, flip, skewPreflight | Compatibility scan before every exportPartially supportedColour | Angular/diamond gradients approximated as radialColour | Unmapped colours auto-converted from RGBLayout | Auto-layout → Indesign FLEX (Only Indesign supported features preserved.)Images | Rotated crops approximated as a plain cover fitImages | Tiled fills reproduced as a nested image grid (verify alignment), or shown as a single covering image if no scaling factor is setEffects | A second drop shadow or inner shadow on the same object is dropped — InDesign renders only one of eachMasks | Luminance masks approximated as a hard-edged clipText | Superscript/subscript exported via InDesign's native Position formatting (offset may not exactly match Figma)Text | Vertical trim (cap-height-to-baseline) simulated by placing text at its untrimmed box where possibleText | First-line baseline, bottom-aligned, and centre-aligned multi-line text inside auto-layout are not baseline-corrected — worth a visual checkAuto-layout | Absolute-positioned children, wrap, and space-between convert with a caveat#UnsupportedIndividual (per-side) strokes, per-corner radii on star/polygon/ellipse/boolean shapes, effects with no InDesign equivalent (Noise, Texture, Glass, Shader, background blur), oval/polygon mask types where the outline can't be resolved, vertical text-trim inside auto-layout, Auto Layout Grid mode, Auto Layout with padding overflow, gradient or image fills on text (falls back to default black — not yet flagged in the scan), video fills (Figma's `VideoPaint`, exports with no fill at all), pattern fills (Figma's newer `PATTERN` paint type, same — no fill), inline text hyperlinks (the link itself is dropped, the text still exports), text truncation / "end with an ellipsis" , FigJam-only and Slides-only node types (sticky notes, connectors, tables, code blocks, slide layers — not relevant to a Design-canvas export tool), plugin-authored widget nodes

Plugin Details

Version2
CreatedAugust 24, 2026
Last UpdatedAugust 27, 2026
CategoryImport & export plugins
CreatorMonochrome Systems
Stats1 installs, 0 likes
PricingPaid

Technical Details

  • API:1.0.0
  • UI:ui.html
  • main:code.js
  • Document Access:dynamic-page
  • Network Access:

    The exporter's IDML assembly runs in a locally-installed companion app on loopback port 7331; the plugin sandbox POSTs the intermediate representation and image bytes to it and downloads the built .idml back, and the UI iframe polls it for status — both now fetch the 'localhost' hostname (not the raw IP; Figma's manifest schema rejects IP-literal allowedDomains entries outright). The GitHub Pages domain is fetched read-only for a small static versions.json, so the UI can nudge the operator when a newer companion build is available (the companion itself makes no outbound calls, per its own 'nothing leaves your machine' claim on that page — the version check happens plugin-side instead).

  • Editor Types:
    figma
  • Allowed Domains:
    • http://localhost:7331
    • https://monochrome-downloads.github.io