Overview

The Elgato Stream Deck MK.2 is a hardware control interface enabling users to manage digital workflows through programmable LCD keys. It provides a tactile method for executing complex commands, launching applications, controlling streaming software, and interacting with various digital services. The device includes 15 customizable LCD keys, each capable of displaying dynamic icons and functioning as a multi-action button, a folder to organize additional commands, or a profile switcher. This functionality allows users to create tailored interfaces for specific applications or tasks, such as switching camera angles during a live broadcast, muting microphones, or triggering sound effects. The Stream Deck MK.2 connects via a detachable USB-C to USB-A cable and is compatible with both Windows and macOS operating systems.

The primary use case for the Stream Deck MK.2 is in live streaming and content creation, where quick access to functions like scene changes in OBS Studio or XSplit, microphone toggles, and chat moderation tools can enhance production quality and responsiveness. Beyond streaming, the device facilitates workflow automation for professionals in video editing, graphic design, and audio production. For example, a video editor could program a key to execute a sequence of actions like importing footage, applying a color grade preset, and exporting a specific file format in software like Adobe Premiere Pro. Developers can extend the Stream Deck's capabilities through the Stream Deck SDK documentation, allowing for integration with custom applications and services not natively supported. This extensibility positions the Stream Deck MK.2 as a versatile tool for both consumer and professional environments requiring efficient digital control.

The Stream Deck MK.2 is particularly effective in scenarios where hands-on, immediate control over software functions is beneficial. This includes managing multiple audio sources, launching specific programs or scripts, and executing complex keyboard shortcuts with a single press. Its customizable visual feedback via the LCD keys helps users quickly identify and execute the correct action, reducing the need to navigate through on-screen menus. The device's robust integration ecosystem, supported by official plugins and community contributions, allows it to interact with a wide array of applications, from communication platforms like Discord to creative suites such as Adobe Photoshop. For users looking to compare control surfaces, the RTINGS.com Stream Deck MK.2 review details its features and performance in a professional context, noting its utility for productivity and content creation.

Key features

  • 15 Customizable LCD Keys: Each key can display dynamic icons and is programmable for various actions, providing visual feedback for assigned functions.
  • Multi-Action Capability: Assign sequences of actions to a single key press, automating complex workflows across multiple applications.
  • Folders and Profiles: Organize keys into folders for an expanded set of commands and create application-specific profiles that automatically switch layouts when a designated application is active.
  • Native Integrations: Direct compatibility with popular streaming, audio, and creative software, including OBS Studio, Twitch, YouTube, Spotify, and Adobe applications.
  • Stream Deck Store: Access a marketplace of plugins, icon packs, and royalty-free music and sound effects to expand functionality and personalization.
  • Removable Faceplate: Allows for aesthetic customization and personal branding.
  • Adjustable Stand: Provides three angles for ergonomic placement on a desk.
  • Developer SDK: Offers public access to the Stream Deck Software Development Kit for creating custom plugins and extending functionality.

Pricing

As of June 25, 2026, the Elgato Stream Deck MK.2 is available at a fixed price for the hardware unit.

Product Price (USD) Details
Elgato Stream Deck MK.2 $149.99 Hardware purchase required. Stream Deck software is included free with hardware.

For current pricing and regional availability, refer to the official Elgato Stream Deck pricing page.

Common integrations

  • OBS Studio: Control scenes, sources, audio, and start/stop streams directly from the Stream Deck.
  • Twitch: Manage chat, run ads, clip moments, and change stream titles.
  • YouTube: Streamline content uploads, manage live broadcasts, and interact with the audience.
  • Spotify: Control media playback, skip tracks, and adjust volume.
  • Discord: Mute microphones, deafen headphones, and switch voice channels.
  • Adobe Photoshop/Premiere Pro: Execute common commands, apply filters, and manage layers or sequences.
  • VoiceMod: Change voice filters and soundboard effects.
  • Wave Link: Manage multiple audio inputs and outputs for live sound mixing.
  • Custom Applications: Through the Stream Deck SDK for developers, integrate with proprietary or niche software.

Alternatives

  • LoupeDeck: Offers specialized control surfaces with dials and buttons designed for photo and video editing, and also supports streaming.
  • Razer Stream Controller: A competing programmable control surface, developed in partnership with Loupedeck, featuring customizable buttons, dials, and a touch screen.
  • Keychron Q-series (via QMK/VIA): Mechanical keyboards with QMK/VIA support allowing extensive key remapping and macro creation, though without LCD keys or direct software integrations.

Getting started

To begin developing a basic plugin for the Elgato Stream Deck, you would typically use the Stream Deck SDK. This example demonstrates a minimal plugin structure for a C++ based action that logs a message when a key is pressed. This assumes you have the Stream Deck development environment set up.

#include "ESDSDK.h"
#include <iostream>

// A minimal action class
class MyFirstAction : public ESDAction
{
public:
    MyFirstAction()
    {
        // Constructor
    }

    virtual ~MyFirstAction()
    {
        // Destructor
    }

    // Called when the key is pressed down
    void OnKeyDown(const std::string& inAction, const std::string& inContext, const nlohmann::json& inPayload, const std::string& inDeviceID) override
    {
        std::cout << "Key Down event received for action: " << inAction << std::endl;
        // Example: change the key's state or image
        // StreamDeckClient::SetState(inContext, 1); // Switch to state 1
    }

    // Called when the key is released
    void OnKeyUp(const std::string& inAction, const std::string& inContext, const nlohmann::json& inPayload, const std::string& inDeviceID) override
    {
        std::cout << "Key Up event received for action: " << inAction << std::endl;
    }

    // Called when the plugin is started or stream deck connects
    void OnDidReceiveSettings(const std::string& inAction, const std::string& inContext, const nlohmann::json& inPayload, const std::string& inDeviceID) override
    {
        // Handle settings received from the Property Inspector
    }

    // Called when the plugin is registered with the Stream Deck application
    void OnRegisterEvent(const nlohmann::json& inJSON) override
    {
        std::cout << "Plugin registered with Stream Deck." << std::endl;
    }

    // Other event handlers can be overridden as needed:
    // OnWillAppear, OnWillDisappear, OnDeviceDidConnect, OnDeviceDidDisconnect, OnApplicationDidLaunch, OnApplicationDidTerminate
};

// Main entry point for the plugin (simplified for example)
int main()
{
    // In a real plugin, you would use ESDSDKMain to initialize the SDK
    // and manage the lifecycle of your actions.
    std::cout << "Starting Stream Deck Plugin (Example)." << std::endl;
    MyFirstAction action; // Instantiate your action
    // Real SDK integration would involve an event loop and client communication.
    return 0;
}

This C++ snippet illustrates the basic structure of an action class, inheriting from ESDAction, which is part of the Elgato Stream Deck SDK overview. It defines methods like OnKeyDown and OnKeyUp that are invoked when a corresponding key on the Stream Deck is pressed or released. Developers would implement their specific logic within these methods to interact with external applications or the operating system. The nlohmann::json library is commonly used for handling JSON payloads in the SDK, which facilitates communication between the plugin and the Stream Deck application. For a complete development setup and deployment, refer to the official Elgato developer documentation.