---
title: "Developer Console"
url: /docs/en-us/studio/developer-console
last_updated: 2026-06-11T23:12:01Z
description: "Developer Console is a tool for debugging your experience during testing or in production."
---

# Developer Console

The **Developer Console** is a tool for debugging your experience when testing in Studio or running it in production. It shows log messages and errors similar to the [Output](/docs/en-us/studio/output.md) window and detailed information on [Memory](#memory), [Network](#network), and more.

You can open the console during a testing or live experience session using any of the following ways:

- Press `F9`.
- Type `/console` into the chat.
- Use the in-experience menu:
  1. Open the in-experience **Roblox Menu**.
  2. Select the **Settings** tab.
  3. Scroll down to **Developer Console** and click **Open**.

## Console sections

The shortcut bar at the top of the console shows the number of critical errors and warnings, client memory usage, and average ping time; click any of these to jump to its corresponding section in the console. Below the shortcut bar is a series of tools as outlined below.

### Log

The **Log** tool shows diagnostic messages from scripts.

#### Client/server toggle

Using the client-server switch, you can toggle between **Client** and **Server** views:

- The **Client** view shows output from client-side `Class.LocalScript|LocalScripts` and/or `Class.Script|Scripts` with `Class.Script.RunContext|RunContext` set to `Enum.RunContext.Client`. Anyone running an experience can view local output messages.
- The **Server** view shows output from server-side `Class.Script|Scripts` (`Class.Script.RunContext|RunContext` set to `Enum.RunContext.Server` or `Enum.RunContext.Legacy`). Only the experience owner or [group](/docs/en-us/projects/groups.md) members with editing permission can view server output messages.

#### Output filters

Using the checkboxes, you can filter output messages in the log:

| **Output** | Messages generated by calls to `Global.LuaGlobals.print()` and `Global.RobloxGlobals.warn()` statements within scripts. |
| --- | --- |
| **Information** | Messages generated by the experience that aren't errors or custom output statements. |
| **Warning** | Messages that indicate a potential problem but not a critical issue. |
| **Error** | Messages that indicate that something critical has happened. |

#### Command bar

The **Server** view also includes a command bar that lets users with editing permissions run arbitrary Luau code. Unlike the [Command Bar](/docs/en-us/studio/ui-overview.md#command) in Studio, this console command bar has the same security restrictions as `Class.Script|Scripts` and `Class.LocalScript|LocalScripts`, so it can't run protected functions.

### Memory

**Developer Console** provides two tools for monitoring memory usage, including:

- **Memory** — View real-time memory consumption by usage categories, including memory usage by both your custom components and the engine internal processes.
- **Luau heap** — Create snapshots on the heap memory, which refers to the memory allocation to your scripts. This tool provides various memory allocation views to help you identify current memory allocation and issues from different perspectives, such as object types and engine classes. It also allows you to create multiple snapshots to compare differences in memory usage over time.

For more information, see [Memory Usage](/docs/en-us/studio/optimization/memory-usage.md)

### Network

The **Network** tool shows the number of web calls that the experience has made. This includes explicit calls made through `Class.HttpService` and web requests made by Roblox services like `Class.DataStoreService`. The **Network** tool has two sections:

- The **Summary** section lists a summary of all the web calls by type. Each type has details on the number of requests, the number of failed requests, and the amount of time that the request took.
- The **Details** section lists each individual web call. Each row shows the HTTP method, such as `GET` or `POST`, along with the status code, time to execute, request type, and request URL. Click on a web call to see its response details, for example:_ {"Version":"1.1":"Content":{"Headers":[]},"StatusCode":"OK","ReasonPhrase":"OK","Headers":[],"TrailingHeaders":[],"RequestMessage":null,"IsSuccessStatusCode":true}_

### Script Profiler

The **Script Profiler** tool allows you to record profiling sessions of all running scripts and view their CPU time costs with custom recording and display settings. It's helpful for identifying scripts that take up the most CPU resources and slow down the performance. For more information, see [Script Profiler](/docs/en-us/studio/optimization/scriptprofiler.md).