Outil gratuit SQL→diagramme ER, exécutable dans le navigateur sans rien téléverser
(sqltoerdiagram.com)- Collez un schéma SQL pour visualiser instantanément dans le navigateur les tables, colonnes, clés et relations sous forme d’ERD
- Parse les DDL
CREATE TABLEetALTER TABLEdes syntaxes PostgreSQL, MySQL, SQLite et SQL Server, et gère les clés primaires et étrangères ainsi que les contraintes unique et not-null - Prend en charge l’édition interactive avec glisser-déposer des tables, disposition automatique, ajout de notes, zoom/dézoom et renommage par double-clic
- Le résultat peut être exporté en PNG haute résolution, SVG vectoriel, fichier de projet ou lien de partage encodant le diagramme dans l’URL
- Aucun compte, inscription ni installation n’est nécessaire, et le schéma SQL n’est ni téléversé ni stocké sur un serveur, avec un accent sur l’exécution locale
Coller du SQL, voir le schéma
- Si vous insérez des instructions
CREATE TABLEdans l’éditeur de gauche, le schéma SQL s’affiche sous forme de diagramme ER - Le schéma d’exemple correspond à une petite structure e-commerce, composée de 6 tables et 7 relations : users, addresses, products, orders, order_items et reviews
- Vous pouvez déplacer les tables par glisser-déposer, zoomer/dézoomer avec la molette, renommer par double-clic puis exporter une fois terminé
- Une fonction permet de charger le schéma d’exemple, et l’écran affiche un niveau de zoom de 122 %
- Tout le traitement s’exécute 100 % en local dans le navigateur, et le schéma ne quitte jamais celui-ci
SQL to ER Diagram — générateur ERD gratuit en ligne
- SQL to ER Diagram est un outil open source gratuit qui transforme un schéma SQL en ERD interactif directement dans le navigateur
- Collez des instructions
CREATE TABLEpour visualiser immédiatement les tables, colonnes, clés primaires, clés étrangères et relations - Fonctionne avec PostgreSQL, MySQL, SQLite et SQL Server
- Prend en charge le glisser-déposer des tables, l’alignement automatique de la mise en page, l’ajout de notes et l’export en PNG ou SVG
- Rien n’est téléversé, et le schéma reste sur l’appareil de l’utilisateur
Questions fréquentes
- Pour créer un diagramme ER à partir de SQL, il suffit de coller des instructions SQL
CREATE TABLEdans l’éditeur, et l’outil rend immédiatement un ERD interactif- Vous pouvez ensuite disposer les tables par glisser-déposer puis exporter en PNG ou SVG
- Les dialectes SQL pris en charge sont PostgreSQL, MySQL, SQLite et SQL Server, avec parsing des DDL standard
CREATE TABLEetALTER TABLE- Les clés primaires, clés étrangères, contraintes unique et not-null sont gérées
- SQL to ER Diagram est entièrement gratuit et open source, sans besoin de compte ni d’inscription
- Tout s’exécute localement dans le navigateur, et le schéma SQL n’est ni téléversé ni stocké sur un serveur
- Les diagrammes peuvent être exportés en PNG haute résolution, SVG vectoriel, fichier de projet complet ou lien de partage encodant le diagramme dans l’URL
- Aucune installation n’est nécessaire, et l’outil fonctionne dans les navigateurs web sur desktop comme sur mobile
1 commentaires
Commentaires sur Hacker News
Ça me rappelle un outil réalisé ensemble avec v0 il y a quelques mois : https://v0-yaerd.vercel.app
Je l’ai créé parce que je ne trouvais pas d’outil capable d’interpréter des fichiers de migration Laravel pour générer un ERD, puis j’ai ajouté une prise en charge basique de SQL via des prompts
L’outil est très sympa, mais je pense qu’on ne peut pas produire un diagramme ER à partir du seul SQL
Les entités et les tables sont fondamentalement différentes, et même si elles se ressemblent beaucoup, le SQL seul ne contient pas assez d’informations pour construire un diagramme ER
Ça ne veut pas dire que cet outil est inutile, ni que ce type de diagramme n’aide pas ; c’est plutôt une remarque de principe, avec laquelle d’autres ne seront peut-être pas d’accord
Bien sûr, le DDL ne dit pas grand-chose du cycle de vie d’une entité, mais si le critère est de représenter en graphe les relations, les champs et les cardinalités, ça me semble suffisant
J’ai l’impression que peu de gens se préoccupent encore vraiment de cette distinction aujourd’hui
La base existe déjà, mais il peut ne pas y avoir d’ERD, ni presque aucune documentation
C’est donc davantage un outil d’exploration, et idéalement il devrait permettre de créer des vues et d’ajouter des notes
Parce qu’on n’a pas forcément besoin de voir tout l’ERD d’un coup quand il y a énormément de tables ou que beaucoup n’ont pas de clés étrangères
En pratique, les deux sont presque interchangeables, mais conceptuellement il peut y avoir une couche de sens plus riche au-dessus des entités et des relations
Par exemple des descriptions de relations ou des annotations supplémentaires associées aux entités
J’avais toujours compris qu’une entité était en relation 1:1 avec une table, donc un exemple aiderait beaucoup
La facilité d’usage sur mobile mérite 1000 sur 100
Le panoramique, le zoom, la sélection et le déplacement sont tellement fluides que j’ai cru halluciner
J’aime les développeurs capables de distiller un problème complexe en une solution simple, et celui-ci est vraiment excellent
Je ne vois pas compliment plus élevé à adresser à un développeur
Cette fonctionnalité de diagramme semble pouvoir servir à bien d’autres choses que les ERD
Même en éditant par double tap, le niveau de zoom n’est pas réinitialisé
C’est clairement l’un des sites les plus adaptés au mobile que j’aie vus jusqu’ici
Ce n’est rien d’énorme, juste un petit outil, mais je me suis dit qu’il pourrait être utile à d’autres
J’ai dû visualiser des schémas de base de données à plusieurs reprises, et la plupart des outils avaient un paywall, une inscription obligatoire, ou envoyaient le SQL sur les serveurs de quelqu’un d’autre
Pas de backend, pas de compte, les données ne quittent pas mon appareil
Il y a aussi eu des aspects amusants à implémenter : au lieu d’utiliser le DOM/SVG, les tables sont rasterisées en bitmaps mis en cache, avec du viewport culling pour garder une navigation fluide même avec des centaines de tables à l’écran
Le parseur SQL suit la plage source de chaque token, ce qui permet à des modifications comme le renommage d’une table de ne changer précisément que les identifiants et références concernés, tout en conservant les commentaires et le formatage
L’URL contient le schéma complet, et le partage fonctionne en sérialisant le schéma directement dans l’URL, sans backend, état stocké ni compte
J’ai aussi expérimenté une version Rust/WASM, mais le coût à la frontière JS↔WASM dépassait le gain de calcul, ce qui rendait le parseur environ 37 % plus lent ; en revanche, la passe de résolution des chevauchements en O(n^2) était environ 2,2 fois plus rapide
Au final je suis resté sur du JavaScript pur, pour environ 32 KB gzip sans framework
Si aucune licence n’est précisée, ça peut être open source, mais pas du logiciel libre
« Il est RECOMMANDÉ que tous les émetteurs et destinataires prennent en charge des URI d’au moins 8000 octets dans les éléments de protocole. »
https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
C’est responsive, propre, et l’expérience d’onboarding sans friction ni inscription est excellente
La distinction entre « entité » et « table » existe bel et bien, mais pour la grande majorité des développeurs qui veulent visualiser rapidement un schéma existant, c’est largement suffisant
Ici, le mieux est l’ennemi du bien
La plupart des gens n’essaient pas de construire une abstraction ORM ; ils veulent juste voir ce qui est connecté à quoi
Ça me fait penser à https://explain.dalibo.com/
C’est un outil de visualisation des plans d’exécution de requêtes, et l’un des plus utiles que j’aie utilisés pour l’optimisation SQL
Pour des données sensibles, mieux vaut télécharger la version v2 entièrement hors ligne disponible en bas de page
Ce serait bien d’avoir aussi des options pour des lignes droites et des angles à 90°
Je n’ai jamais trop aimé les lignes courbes, même si visuellement c’est réussi et bien fait
Je me demande s’il existe un moyen de générer ces SVG en CLI
J’aime vraiment beaucoup, et l’extension Postgres pour VSCode qui fait quelque chose de similaire est bien aussi, mais elle reste liée à VSCode
Elle n’offre pas non plus d’option CLI exportable qu’on puisse versionner dans un dépôt
J’utilise https://github.com/ondras/wwwsqldesigner ; à mon avis, ça vaut le coup de le considérer comme point de comparaison
J’adorais ce projet, c’était l’une des toutes premières implémentations de JS côté serveur
Peut-être que j’étais le seul fan, mais Ondřej, ton travail était vraiment excellent
C’est correct, mais il n’y a pas de fichier LICENSE sur GitHub : https://github.com/royalbhati/sqltoerdiagram