Top Related Projects
The flexible backend for all your projects π° Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
Your backend, minus the hassle.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
Airtable javascript client
π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable, and developer-first.
Quick Overview
NocoDB is an open-source no-code platform that transforms any MySQL, PostgreSQL, SQL Server, SQLite, or MariaDB into a smart spreadsheet. It provides a user-friendly interface for creating and managing databases, with features similar to Airtable but with the added benefit of being self-hosted and offering more control over data.
Pros
- Self-hosted solution, providing better data privacy and control
- Compatible with multiple popular database systems
- Offers a familiar spreadsheet-like interface for easy data management
- Extensible with APIs, webhooks, and integrations
Cons
- Requires some technical knowledge for initial setup and hosting
- May have a steeper learning curve compared to fully managed no-code solutions
- Limited customization options compared to traditional coding approaches
- Performance may vary depending on the underlying database and server configuration
Getting Started
To get started with NocoDB, follow these steps:
- Install Docker on your system
- Run the following command to start NocoDB:
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
- Open your browser and navigate to
http://localhost:8080
- Sign up for a new account and start creating your projects
For more advanced setups or to use NocoDB with an existing database, refer to the official documentation at https://docs.nocodb.com/
Competitor Comparisons
The flexible backend for all your projects π° Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
Pros of Directus
- More extensive customization options and flexibility
- Robust API-first approach with GraphQL support
- Advanced role-based access control system
Cons of Directus
- Steeper learning curve for beginners
- Requires more server resources compared to NocoDB
Code Comparison
Directus (TypeScript):
const { Directus } = require('@directus/sdk');
const directus = new Directus('https://api.example.com');
async function fetchItems() {
const items = await directus.items('articles').readByQuery({ limit: 5 });
console.log(items);
}
NocoDB (JavaScript):
const { Api } = require('nocodb');
const api = new Api({ token: 'YOUR_TOKEN' });
async function fetchItems() {
const items = await api.dbTable('articles').list({ limit: 5 });
console.log(items);
}
Both Directus and NocoDB offer powerful no-code/low-code database solutions, but they cater to slightly different needs. Directus provides more advanced features and customization options, making it suitable for complex projects and experienced developers. NocoDB, on the other hand, offers a more user-friendly interface and easier setup, making it ideal for smaller projects or teams with less technical expertise. The code comparison shows that both platforms provide similar functionality for basic operations, with Directus using TypeScript and NocoDB using JavaScript.
Your backend, minus the hassle.
Pros of Appwrite
- More comprehensive backend-as-a-service offering, including authentication, databases, storage, and serverless functions
- Stronger focus on security features like encryption and access control
- Better suited for building complex, scalable applications across multiple platforms
Cons of Appwrite
- Steeper learning curve due to its broader feature set
- May be overkill for simple projects that only require database functionality
- Less focus on spreadsheet-like UI for data management
Code Comparison
Appwrite (JavaScript SDK):
const sdk = new Appwrite();
sdk
.setEndpoint('https://[HOSTNAME_OR_IP]/v1')
.setProject('[PROJECT_ID]');
const result = await sdk.database.createDocument('[COLLECTION_ID]', '[DOCUMENT_ID]', {});
NocoDB (REST API):
const response = await fetch('http://localhost:8080/api/v1/tables/[TABLE_NAME]/records', {
method: 'POST',
headers: { 'xc-auth': '[AUTH_TOKEN]' },
body: JSON.stringify({ [COLUMN_NAME]: [VALUE] })
});
Both projects offer backend solutions, but Appwrite provides a more comprehensive set of features for building full-stack applications, while NocoDB focuses primarily on database management with a user-friendly interface.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
Pros of Supabase
- More comprehensive backend-as-a-service offering, including authentication, storage, and real-time subscriptions
- Better documentation and community support
- Stronger focus on developer experience with easy-to-use client libraries
Cons of Supabase
- Less flexible for on-premises deployment compared to NocoDB
- Steeper learning curve for developers new to PostgreSQL
- More complex setup process for self-hosting
Code Comparison
Supabase (JavaScript):
const { data, error } = await supabase
.from('users')
.select('name, email')
.eq('id', 123)
NocoDB (JavaScript):
const user = await api.dbTable('users').readByPk(123);
Both projects aim to simplify database operations, but Supabase offers a more SQL-like syntax, while NocoDB provides a more abstract API. Supabase's approach may be more familiar to developers with SQL experience, while NocoDB's API might be easier for those new to database operations.
Supabase is better suited for projects requiring a full backend solution with additional features like authentication and real-time subscriptions. NocoDB is more focused on providing a user-friendly interface for database management and may be a better choice for projects that prioritize simplicity and ease of use in database operations.
Airtable javascript client
Pros of airtable.js
- Officially maintained by Airtable, ensuring compatibility and timely updates
- Extensive documentation and examples for easy integration
- Supports a wide range of Airtable-specific features and functionalities
Cons of airtable.js
- Limited to Airtable's ecosystem, lacking flexibility for custom database solutions
- Requires an Airtable account and may incur costs for advanced features
- Less suitable for self-hosted or on-premise deployments
Code Comparison
airtable.js:
const Airtable = require('airtable');
const base = new Airtable({apiKey: 'YOUR_API_KEY'}).base('appXXXXXXXXXXXXXX');
base('Table').select({
view: 'Grid view'
}).eachPage(function page(records, fetchNextPage) {
// Process records
}, function done(err) {
if (err) { console.error(err); return; }
});
NocoDB:
const { ApiClient } = require("nocodb");
const api = new ApiClient({
baseURL: 'http://localhost:8080',
headers: { 'xc-auth': 'YOUR_AUTH_TOKEN' }
});
api.dbTable('Table').list()
.then(records => {
// Process records
})
.catch(err => console.error(err));
Note: NocoDB is an open-source Airtable alternative, offering self-hosting capabilities and database flexibility. It provides similar functionality to Airtable but with more control over the infrastructure and data storage.
π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable, and developer-first.
Pros of Strapi
- More mature and established project with a larger community and ecosystem
- Offers a plugin system for easy extensibility
- Provides a user-friendly admin panel for content management
Cons of Strapi
- Steeper learning curve, especially for complex setups
- Requires more server resources compared to NocoDB
- Less flexible in terms of database support (primarily focuses on SQL databases)
Code Comparison
Strapi (Creating a content type):
module.exports = {
attributes: {
title: {
type: 'string',
required: true
},
content: {
type: 'richtext'
}
}
};
NocoDB (Creating a table):
CREATE TABLE posts (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
content TEXT
);
Both NocoDB and Strapi are open-source projects aimed at simplifying backend development, but they have different approaches. Strapi is a headless CMS that provides a powerful admin panel and API generation, while NocoDB focuses on transforming any database into a smart spreadsheet with API capabilities.
Strapi offers more out-of-the-box features for content management and is better suited for complex applications. NocoDB, on the other hand, provides a more lightweight solution with a focus on database management and is easier to set up for simple projects.
The choice between the two depends on the specific needs of your project, such as the level of customization required, the complexity of your data model, and your team's familiarity with each tool's ecosystem.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
The Open Source Airtable Alternative
NocoDB is the fastest and easiest way to build databases online.
Website Γ’ΒΒ’ Discord Γ’ΒΒ’ Community Γ’ΒΒ’ Twitter Γ’ΒΒ’ Reddit Γ’ΒΒ’ Documentation

Join Our Community

Installation
Docker with SQLite
docker run -d \
--name noco \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
nocodb/nocodb:latest
Docker with PG
docker run -d \
--name noco \
-v "$(pwd)"/nocodb:/usr/app/data/ \
-p 8080:8080 \
-e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Auto-upstall
Auto-upstall is a single command that sets up NocoDB on a server for production usage. Behind the scenes it auto-generates docker-compose for you.
bash <(curl -sSL http://install.nocodb.com/noco.sh) <(mktemp)
Auto-upstall does the following: Γ°ΒΒΒ
- Γ°ΒΒΒ³ Automatically installs all pre-requisites like docker, docker-compose
- Γ°ΒΒΒ Automatically installs NocoDB with PostgreSQL, Redis, Minio, Traefik gateway using Docker Compose. Γ°ΒΒΒ Γ°ΒΒΒΓ―ΒΈΒ Γ°ΒΒΒ
- Γ°ΒΒΒ Automatically upgrades NocoDB to the latest version when you run the command again.
- Γ°ΒΒΒ Automatically setups SSL and also renews it. Needs a domain or subdomain as input while installation.
install.nocodb.com/noco.sh script can be found here in our github
Other Methods
Binaries are only for quick testing locally.
Install Method | Command to install |
---|---|
Γ°ΒΒΒ MacOS arm64 (Binary) | curl http://get.nocodb.com/macos-arm64 -o nocodb -L && chmod +x nocodb && ./nocodb |
Γ°ΒΒΒ MacOS x64 (Binary) | curl http://get.nocodb.com/macos-x64 -o nocodb -L && chmod +x nocodb && ./nocodb |
Γ°ΒΒΒ§ Linux arm64 (Binary) | curl http://get.nocodb.com/linux-arm64 -o nocodb -L && chmod +x nocodb && ./nocodb |
Γ°ΒΒΒ§ Linux x64 (Binary) | curl http://get.nocodb.com/linux-x64 -o nocodb -L && chmod +x nocodb && ./nocodb |
Γ°ΒΒͺΒ Windows arm64 (Binary) | iwr http://get.nocodb.com/win-arm64.exe -OutFile Noco-win-arm64.exe && .\Noco-win-arm64.exe |
Γ°ΒΒͺΒ Windows x64 (Binary) | iwr http://get.nocodb.com/win-x64.exe -OutFile Noco-win-x64.exe && .\Noco-win-x64.exe |
When running locally access nocodb by visiting: http://localhost:8080/dashboard
For more installation methods, please refer to our docs
Screenshots
Features
Rich Spreadsheet Interface
- Γ’ΒΒ‘ Β Basic Operations: Create, Read, Update and Delete Tables, Columns, and Rows
- Γ’ΒΒ‘ Β Fields Operations: Sort, Filter, Group, Hide / Unhide Columns
- Γ’ΒΒ‘ Β Multiple Views Types: Grid (By default), Gallery, Form, Kanban and Calendar View
- Γ’ΒΒ‘ Β View Permissions Types: Collaborative Views, & Locked Views
- Γ’ΒΒ‘ Β Share Bases / Views: either Public or Private (with Password Protected)
- Γ’ΒΒ‘ Β Variant Cell Types: ID, Links, Lookup, Rollup, SingleLineText, Attachment, Currency, Formula, User, etc
- Γ’ΒΒ‘ Β Access Control with Roles: Fine-grained Access Control at different levels
- Γ’ΒΒ‘ Β and more ...
App Store for Workflow Automations
We provide different integrations in three main categories. See App Store for details.
- Γ’ΒΒ‘ Β Chat: Slack, Discord, Mattermost, and etc
- Γ’ΒΒ‘ Β Email: AWS SES, SMTP, MailerSend, and etc
- Γ’ΒΒ‘ Β Storage: AWS S3, Google Cloud Storage, Minio, and etc
Programmatic Access
We provide the following ways to let users programmatically invoke actions. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB.
- Γ’ΒΒ‘ Β REST APIs
- Γ’ΒΒ‘ Β NocoDB SDK
Contributing
Please refer to Contribution Guide.
Why are we building this?
Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings have meant horrible access controls, vendor lock-in, data lock-in, abrupt price changes & most importantly a glass ceiling on what's possible in the future.
Our Mission
Our mission is to provide the most powerful no-code interface for databases that is open source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on the internet.
License
This project is licensed under AGPLv3.
Contributors
Thank you for your contributions! We appreciate all the contributions from the community.
Top Related Projects
The flexible backend for all your projects π° Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.
Your backend, minus the hassle.
The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
Airtable javascript client
π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable, and developer-first.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot