# Redash: SQL-First Dashboards for Developers


[Redash](https://redash.io/) is an open-source analytics platform for teams that are comfortable writing SQL. It **connects to a wide range of data sources, provides a browser-based SQL editor, turns query results into charts and tables**, and assembles those visualizations into shareable dashboards. The workflow is direct: write a query, create a visualization, add it to a dashboard, share the URL.

<iframe width="100%" height="315" src="https://www.youtube.com/embed/ouKwtFoT1ZY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>



## Core features

![Redash GitHub page showcasing its popularity and open-source nature](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/d741ece0-f7fb-485e-9db3-10d079bec200/orig =1280x720)


**Query editor with schema browser.** The editor includes autocomplete and a schema browser that lists tables and columns. Clicking a column name inserts it into the query, reducing typos and speeding up exploration.

**Query parameterization.** Adding `{{ variable_name }}` to a query generates an input widget on the dashboard. Non-technical users can filter data using date pickers, dropdowns, or text inputs without modifying the SQL.

**Visualizations.** Query results can be rendered as line charts, bar charts, area charts, pie charts, funnels, maps, and cohort tables. Configuration is done through a visual editor that maps result columns to chart axes.

**Scheduling and alerts.** Queries can be set to run on a schedule, and alerts can fire when results meet a condition, such as a metric dropping below a threshold. Alert destinations include Slack, email, and webhooks.

**REST API.** All dashboard and query operations are available through a REST API, enabling programmatic query refresh, data export, and embedding visualizations in internal applications.

**Self-hostable.** Redash is free and runs on your own infrastructure via Docker. This eliminates vendor lock-in and keeps data entirely within your environment.

![Illustration of the diverse data sources Redash can connect to including PostgreSQL, MySQL, BigQuery, Snowflake, and MongoDB](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/ebc4650d-87e8-4e30-f25c-949d78d88300/lg2x =1280x720)

## Connecting a data source

In a fresh Redash instance, navigate to **Connect a Data Source** from the welcome screen. Select the database type from the list (PostgreSQL, MySQL, BigQuery, MongoDB, and others). Fill in the connection details: a display name, host, port, username, password, and database name.

For PostgreSQL running in a separate Docker container on the same host, use `host.docker.internal` as the host. Click **Test Connection** to verify, then **Create** to save.

![The "Create a New Data Source" form for PostgreSQL showing fields for Name, Host, Port, User, Password, and Database Name](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/5cf067a9-68c1-4bfe-04ff-7cbece7f1600/lg1x =1280x720)

## Writing a parameterized query

From the top menu, click **Create > New Query**. The schema browser on the left shows all tables and columns in the connected database.

The following query counts total events and purchase events per day, with a date parameter to control the start of the range:

```sql
SELECT
    DATE_TRUNC('day', created_at) AS day,
    COUNT(*) AS total_events,
    COUNT(CASE WHEN event_type = 'purchase' THEN 1 END) AS purchases
FROM events
WHERE created_at >= '{{ start_date }}'
GROUP BY day
ORDER BY day;
```

Typing `{{ start_date }}` immediately creates a parameter widget below the editor. Clicking the gear icon on that widget opens type configuration. Changing the type from "Text" to "Date" replaces the plain text field with a calendar picker, which prevents invalid inputs.

Click **Execute** after selecting a date. Results appear in a table below the editor.

![Redash query editor interface showing the SQL code, the start_date parameter input, and the schema browser on the left](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/47982007-fb29-4e95-18bb-4d1a6e27c700/public =1280x720)

## Creating a visualization

Above the results table, click **+ New Visualization**. In the visualization editor, select a chart type. For time-series data, Area works well. Map the result columns to axes: `day` on the X axis, `total_events` and `purchases` on the Y axis. Under the **Series** tab, customize colors per metric. Under **General**, selecting "Stack" creates a stacked area chart.

Give the visualization a name and click **Save**.

## Building a dashboard

Navigate to **Create > New Dashboard** and give it a title. Click **Add Widget**, search for the query, select the visualization, and click **Add to Dashboard**. Widgets can be repositioned by dragging and resized by dragging the bottom-right corner. Additional widgets from other queries can be added the same way.

The **Refresh Schedule** control in the top-right corner of the dashboard sets automatic re-execution intervals: every minute, hour, day, or week. Once set, stakeholders always see current data without manual intervention.

To share, copy the dashboard URL and distribute it to teammates. Anyone with the URL can view the dashboard and interact with parameters.

![Final dashboard showing a stacked area chart of total_events and purchases with the start_date parameter visible for user interaction](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/a8679bff-de9e-492f-48f4-2303674e3700/md2x =1280x720)

## Comparison with other BI tools

**Redash vs. Metabase.** Metabase targets non-technical users with a no-code question builder. For developers who think in SQL, Redash's direct editor is faster and less restrictive for complex queries.

**Redash vs. Apache Superset.** Superset offers more visualization types and better performance at scale, but requires more setup and has a steeper learning curve. Redash is easier to get running and focused on SQL use cases.

**Redash vs. Tableau and Power BI.** Both commercial tools offer polished UIs and deep enterprise support at significant licensing cost. Redash provides the core functionality most development teams need for free, without per-seat pricing.

## Tradeoffs

Redash's visualizations cover the common cases but lack the customization depth of dedicated visualization platforms. If pixel-perfect, highly branded dashboards for external clients are required, other tools will serve better.

Self-hosting transfers maintenance responsibility: updates, scaling, and backups fall to your team. There is a managed cloud offering, but the free tier is self-hosted only.

Redash does not have a no-code data explorer. Teams with primarily non-technical users who need a point-and-click interface would be better served by Metabase.

## Final thoughts

Redash fits well for development teams that already write SQL and want to share insights without exporting CSVs or building custom reporting pages. **The SQL editor and parameterization cover most internal analytics use cases, and the self-hosted Docker setup keeps the cost and data ownership straightforward**.

For pipeline monitoring, internal KPI dashboards, or exposing database queries to non-technical colleagues through a filtered UI, it reduces a multi-step manual process to a one-time setup.

Documentation and Docker setup instructions are available at [redash.io/help](https://redash.io/help/).