TL;DR Click on "Click to Speak" and say "Help" or "Insert Google Logo" when you hear a beep to use the voice plugin.

The Voice Assistant reports changes and listens to voice commands using speech. To use it, click on theClick to Speak button or the Voice Assistant link in the Help menu (only available if supported). Configure the Assistant with the Voice menu and start/stop voice input with the Click to Speak button:



Speech output in Google Chrome and Safari. Speech input in Chrome. Only English (US) supported.

The Voice menu allows to configure the plugin, pick a voice type, toggle speech output and start speech input. The hint menu item reads information about the current selection. (If the Voice Type submenu shows "Loading...", close the Voice menu and reopen it for the voice types to be updated.)


The button is used to start/stop speech recognition and to provide feedback for input and output.

Keyboard Shortcuts

The plugin uses the following keyboard shortcuts:

  • Shift+Esc: Info about the current selection

  • Ctrl+O: Start/stop continuous input

  • Ctrl+Space: Start voice command

  • AltGr+Esc: Speech output on/off (Windows/Linux)

  • Ctrl+Esc: Speech output on/off (Mac/Chrome)

Voice Commands

You will hear a short beep when the plugin starts and stops listening. The button will contain current status information if the plugin is listening. Continuous voice input is started and stopped by clicking on the button or pressing Ctrl+O.

Hello | Hi

Answers with a short introduction message.

Install | Uninstall

Installs or uninstalls the plugin.

Quick Start

Opens the quick start video in a new tab (popup windows must be enabled).

Help topic

Shows help for the (optional) topic or the Voice plugin in a new tab (popup windows must be enabled).

Insert shape

Inserts shape at the current mouse position or the end of a selected edge if that end is not connected using the first search result for shape (eg. "insert rectangle", "insert triangle", "insert cylinder", "insert actor", "insert google logo").

Connect | Clone (up|down|left|right|north|east|south|west)

Creates a connection in the given direction (eg. "connect south", "clone left"). For "connect", only a connection is created while "clone" creates a connection and a clone of the source.


Deletes all connections of the selected cells (eg. "disconnect").

Move (up|down|left|right|north|east|south|west)

Moves a selected shape. Directions can be repeated and "move" is optional (eg. "move south", "move up and left", "down and right").

Text value

Changes a label to the given value (eg. "text hello world", "text step two").

Edit text (apply | undo | redo)

Starts editing the text label. When editing labels, speech input is used to dictate values. Apply, undo and redo are valid commands (eg. "edit text", "step two", "apply").

Select name | next | previous | last | source | target

Selects the next or previous, source or target terminal, or last inserted cell, or selects a cell with the given label or shape name (eg. "select step", "select cylinder", "select next", "select last").


Clears the selection (eg. "deselect").

Search value 

Google image search for a given value in a new window (popup windows must be enabled). Drag images from the new window to the diagram. The same window will be used for subsequent searches.

Width | Height value 

Changes the width or height of the current selection (eg. "width 180", "height 40").

Double | Shrink (width | height)

Doubles or halves the width or height (or both) of the current selection (eg. "double height", "shrink").

Remove stylename | text

Removes a style or text for the selected shape (eg. "remove text", "remove fill color").

Supported stylenames are: align, endSize, fillColor, fontColor, fontFamily, fontSize, gradientColor, gradientDirection, labelBackgroundColor, labelBorderColor, labelPosition, opacity, perimeterSpacing, rotation, spacing, spacingBottom, spacingLeft, spacingRight, spacingTop, startSize, strokeColor, strokeWidth, textOpacity, verticalAlign and verticalLabelPosition.

Stylename value

Changes the style to the given value. Possible values are numbers, color names and any text.  You can use "size" instead of "font size" (eg. "fill color red", "stroke width 4", "size 16").


Changes the shape of the current selection. Possible values are any supported shape names (eg."rectangle", "triangle", "cloud").

Supported shapenames are: actor, card, cloud, collate, component, corner, cross, cube, curlybracket, cylinder, datastorage, datastore, delay, dimension, display, document, doublearrow, doubleellipse, ellipse, endstate, ext, folder, hexagon, image, internalstorage, label, line, lineellipse, lollipop, looplimit, manualinput, message, note, offpageconnector, or, orellipse, parallelmarker, parallelogram, partialrectangle, plus, process, rectangle, requires, rhombus, singlearrow, sortshape, startstate, step, sumellipse, swimlane, switch, tape, tapedata, tee, trapezoid, triangle, umlactor, umlboundary, umlcontrol, umldestroy, umlentity, umlframe, umllifeline and xor.


Any supported action name (eg. "undo", "redo", "select vertices", "select edges", "bold", "italic", "shadow", "rounded", "layers", "edit metadata").

Supported actionnames are: about, addwaypoint, autosave, autosize, backgroundcolor, bold, bordercolor, chatwindowtitle, chromeapp, cleardefaultstyle, clearwaypoints, close, collapse, collapseexpand, collapsible, connect, copy, copyconnect, copystyle, createrevision, createshape, curved, customzoom, cut, dashed, delete, deleteall, documentproperties, dotted, drawioforwork, duplicate, editfile, editgeometry, editlink, editmetadata, editshape, editstyle, edittooltip, embedhtml, embediframe, embedimage, entergroup, exitgroup, expand, export, exportoptionsdisabled, feedback, fillcolor, fitpage, fitpagewidth, fittwopages, fitwindow, fontcolor, formatpanel, formattedtext, googledocs, googlesites, gradientcolor, grid, group, guides, help, home, image, import, insertellipse, insertlink, insertrectangle, inserttext, italic, keyboardshortcuts, layers, link, lockunlock, makecopy, mathematicaltypesetting, moreshapes, movetofolder, new, offline, open, openlink, outline, pagebackgroundcolor, pagebackgroundimage, pagesetup, pageview, paste, pastehere, pastestyle, plugins, preview, print, quickstart, redo, removefromgroup, removewaypoint, rename, resetview, revisionhistory, rotation, rounded, save, saveas, scratchpad, scrollbars, selectall, selectedges, selectnone, selectvertices, setasdefaultstyle, shadow, share, sharp, solid, speechhelp, speechhint, speechlisten, speechlistencontinuous, speechoutput, strokecolor, support, toback, tofront, togglerounded, tooltips, turn, underline, undo, ungroup, upload, vertical, wordwrap, zoomin and zoomout. 

Install/Uninstall Plugin

To install this plugin, say "install" or check the "Start with" option in the Voice menu. Touninstall say "uninstall", uncheck the option or remove "/plugins/voice.js" in Extras, Plugins.


Uses ntc (Name that Color) by Chirag Mehta -