# Open source alternative to Retool for building UIs

> How does Windmill compare to Retool as an open-source alternative for building internal tools and UIs?

Retool is great for building internal tools in low code. Windmill does it too, but it also broadens the realm of possibilities for more demanding developers.

Although having a very similar app builder, Windmill complements it with much more powerful and versatile script & flow editors that will take you further in your app building experience.

![Windmill Retool](../assets/compared_to/windmill_retool.png 'Windmill Retool')

<a href="https://retool.com/" rel="nofollow"> Retool </a> is a development platform that allows developers to build internal tools by connecting to various databases, APIs, and third-party integrations. It offers a drag-and-drop interface combined with the flexibility of custom code.

## Open source

[Windmill](https://www.windmill.dev/) is fully open source. This implies that Windmill can be self-hosted with just a few commands, providing cost-effective and secure solutions.

Windmill offers a clean slate, allowing you to fully explore its platform before committing to the product.
Windmill's open-source nature ensures that the platform is tested, approved, and continuously enhanced
to meet the community's needs.

Finally, Windmill provides and integrates into its platform a [public community Hub](https://hub.windmill.dev/)
where users share useful and proven scripts, flows, and applications.
Unlike Retool, where you are limited to pre-written templates by the Retool teams.

![Windmill GitHub](../assets/compared_to/windmill_gh.png 'Windmill GitHub')

:::info Retool
Retool is a proprietary software and closed source.
:::

## Integrations

Windmill has dozens of integrations initiated by the community and approved by the Windmill team.

Anyone can create an integration with just a few clicks.

:::info Retool
You can only use Retool's pre-approved integrations and "Suggest a resource" instead of adding it or sharing it yourself.

![Retool Integrations](../assets/compared_to/retool_integrations.png 'Retool Integrations')
:::

## Versatility

The app builder of Retool is very similar to that of Windmill.
In the architecture, both platforms allow connecting components to code or workflows.
However, the possibilities with code on Retool will be much more limited:

### Languages and scripts

Retool only supports JavaScript and SQL. Windmill supports JavaScript ([TypeScript](../getting_started/0_scripts_quickstart/1_typescript_quickstart/index.mdx)), [SQL](../getting_started/0_scripts_quickstart/5_sql_quickstart/index.mdx), but also [Python](../getting_started/0_scripts_quickstart/2_python_quickstart/index.mdx), [Go](../getting_started/0_scripts_quickstart/3_go_quickstart/index.mdx), [Bash](../getting_started/0_scripts_quickstart/4_bash_quickstart/index.mdx).
For each of those languages, scripts can be run [without having to manage a package.json directly](../advanced/6_imports/index.mdx).
For other languages, Windmill supports [running any docker container](../advanced/7_docker/index.mdx) through its bash support.

All operations in Windmill are based on scripts. Unlike Retool, scripts in Windmill can be considered as standalone endpoints:
executable through [autogenerated UIs](../core_concepts/6_auto_generated_uis/index.mdx), [webhooks](../core_concepts/4_webhooks/index.mdx), etc.

### Workflow engine

Retool is not originally designed as a workflow engine.
Its flow capabilities are geared towards non-technical users, similar to n8n.
Adding steps or For loops can be frustrating.
Flows will be limited without features like [approval steps](../flows/11_flow_approval.mdx), [early stop](../flows/2_early_stop.md), [sleep](../flows/15_sleep.md), etc.

The flow-building experience is cumbersome, as Retool has not managed to incorporate the same level
of low-code simplicity found in its app builder (e.g. picking inputs from previous steps’ outputs).

### Developer experience

Despite being a low-code tool, Windmill has been designed to cater to developers.
It is possible to use Windmill from the terminal through its CLI, from VS Code, or deploy it from GitHub/GitLab.

Additionally, you can build [full-code apps](../full_code_apps/index.mdx) with React or Svelte connected to Windmill backend runnables.

## Pricing

Windmill has a [transparent pricing policy](/pricing), with clear steps for implementation.

Windmill is cheaper at scale and can be used for free at any scale thanks to its open source nature.

## What Retool does better and where is Windmill on those topics

Retool benefits from a vast library of <a href="https://retool.com/templates/" rel="nofollow">templates</a>.

Windmill provides the [Windmill Hub](https://hub.windmill.dev/) platform where anyone can share scripts, flows, and applications.
The most relevant ones are marked as "Approved" by the Windmill team and directly incorporated into the product.

Finally, Retool has a broad library of <a href="https://retool.com/components" rel="nofollow">components</a>.
On one hand, due to the limitations of using code & customization in Retool, many of these components are duplicates or even triplicates,
whereas they would be single customizable components in Windmill.
On the other hand, [our list of components](../apps/4_app_configuration_settings/1_app_component_library.mdx) is determined by the needs of our users.
Most of our users who have chosen Windmill over Retool have favored
Windmill's ability to quickly add the components that are useful to them.

## Everything else

For everything else, it's comparable: you can run on [schedules](../core_concepts/1_scheduling/index.mdx) or [webhooks](../core_concepts/4_webhooks/index.mdx),
[source control](../core_concepts/17_collaboration/index.mdx#git-integration),
seamlessly interact your apps with [databases](../integrations/postgresql.md),
[link runnables to components](../apps/3_app-runnable-panel.mdx), give [styling](../apps/4_app_configuration_settings/4_app_styling.mdx) to apps, [resources](../core_concepts/3_resources_and_types/index.mdx) are handled in a similar way.

To conclude, Retool is an excellent engine for building custom applications within a reassuring and defined framework.

Windmill provides its users with transparency and versatility to delve deeper into the building of apps.
