Recommended Free Tools
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
DB Browser for SQLite (DB4S) est une application graphique gratuite et open source pour ouvrir, créer, consulter et modifier des fichiers SQLite, sans installer de serveur. Elle convient aux débutants comme aux développeurs qui veulent inspecter rapidement une base locale ou exécuter du SQL. Elle n’est toutefois ni un tableur complet ni un outil d’administration de bases distantes. Avant toute modification importante, travaillez sur une copie du fichier.
SQLite, SQL et DB Browser : quelle différence ?
Ces trois termes désignent des choses différentes :
- SQLite est le moteur de base de données et le format de fichier. Il fonctionne comme une bibliothèque intégrée, sans serveur séparé ; son code source est dans le domaine public (site officiel SQLite).
- SQL est le langage utilisé pour créer des tables, lire et modifier des données.
- DB Browser for SQLite est l’interface graphique qui permet de manipuler des fichiers SQLite et d’y saisir des requêtes SQL.
Par exemple, cette requête demande à SQLite de lister les tables ; DB Browser permet de l’exécuter et d’afficher le résultat :
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchSELECT name
FROM sqlite_master
WHERE type = 'table';
Le fichier porte souvent l’extension .db, .sqlite ou .sqlite3, mais le nom ne prouve pas à lui seul qu’il s’agit d’une base SQLite. DB4S peut également ouvrir des fichiers créés par des applications qui utilisent SQLite. Le projet présente aussi une prise en charge de SQLCipher, mais elle dépend de la compilation ou du binaire utilisé.
#1 Best Overall
Télécharger et installer DB Browser
Téléchargez l’application depuis la page officielle de téléchargement ou consultez le dépôt officiel GitHub. Évitez les sites tiers de téléchargement. Choisissez un paquet correspondant à l’architecture réelle de votre ordinateur ; sur la plupart des PC récents, il s’agit de x64, tandis que Windows ARM64 nécessite un paquet ARM64. La version portable de PortableApps n’est pas proposée pour Windows ARM64.
Au 18 août 2026, la page de téléchargement officielle indique la version stable 3.13.1, tandis que l’encadré d’état de la page d’accueil affiche encore 3.13.0. Cette incohérence rend préférable la page de téléchargement pour vérifier la version disponible ; vérifiez aussi le numéro dans l’application après installation. Les versions nightly sont des versions de développement, susceptibles d’être moins fiables : ce n’est pas le choix par défaut.
Windows
La page officielle propose notamment des installateurs et archives 32 bits, 64 bits et ARM64, ainsi qu’une archive portable. Le gestionnaire winget peut aussi installer l’application :
winget install -e --id DBBrowserForSQLite.DBBrowserForSQLite
Les commandes suivantes sont également documentées par le projet pour Chocolatey et Scoop :
choco install sqlitebrowser
scoop install sqlitebrowser
macOS
La page officielle propose un paquet macOS Universal. Avec Homebrew :
brew install db-browser-for-sqlite
Le dépôt du projet indique que macOS 10.15 Catalina à 14.0 Sonoma ont été testés et sont connus comme compatibles. Ne supposez pas que cette indication garantit la compatibilité avec toute version de macOS ultérieure : vérifiez les informations actuelles avant l’installation.
Pour les utilisateurs qui ont spécifiquement besoin d’une version nightly avec SQLCipher, le dépôt documente des casks distincts. Ce sont des versions de développement, pas l’option recommandée pour un usage ordinaire :
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsbrew tap homebrew/cask-versions
brew install --cask db-browser-for-sqlite-nightly
brew install --cask db-browser-for-sqlcipher-nightly
Linux
Les dépôts des distributions sont pratiques, mais leur paquet peut être plus ancien que la dernière version officielle. Commandes documentées par le projet :
Rank #2
# Debian / Ubuntu
sudo apt-get update
sudo apt-get install sqlitebrowser
# Fedora
sudo dnf install sqlitebrowser
# Arch Linux
sudo pacman -S sqlitebrowser
# openSUSE
sudo zypper install sqlitebrowser
# Snap
snap install sqlitebrowser
La page officielle propose également une AppImage. Reprenez son nom exact, qui peut changer d’une version à l’autre ; pour un fichier nommé comme dans l’exemple ci-dessous :
chmod +x DB.Browser.for.SQLite-v3.13.1-x86.64-v2.AppImage
./DB.Browser.for.SQLite-v3.13.1-x86.64-v2.AppImage
Une AppImage officielle, un paquet Snap, un dépôt de distribution, un PPA communautaire et une nightly ne sont pas nécessairement équivalents en version ni en provenance. Vérifiez ce que vous installez.
Avant d’ouvrir ou de modifier une base
Si le fichier est important, créez une sauvegarde avant toute écriture. Fermez d’abord l’application qui utilise la base, puis copiez le fichier :
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →# macOS ou Linux
cp ma-base.sqlite ma-base.sqlite.bak
# Windows PowerShell
Copy-Item ma-base.sqlite ma-base.sqlite.bak
Une base SQLite est souvent un seul fichier, mais pas toujours tous les éléments nécessaires à une copie cohérente se trouvent dans ce fichier pendant que la base est utilisée. En mode WAL, par exemple, des données peuvent se trouver dans des fichiers auxiliaires. Ne copiez pas simplement le fichier principal pendant qu’une application écrit dedans et ne supprimez pas manuellement ses journaux. Fermer l’application d’origine avant la copie est l’approche simple ; pour une base active, utilisez une méthode de sauvegarde SQLite conçue à cet effet (sauvegarde SQLite, mode WAL).
Dans DB Browser, ouvrez le fichier depuis l’action d’ouverture de base, puis attendez le chargement du schéma. Vérifiez que vous avez choisi le bon fichier avant de travailler. Les libellés exacts et la disposition peuvent varier selon le système et la version.
Les zones principales servent généralement à parcourir la structure, afficher ou modifier les lignes, définir des tables et saisir du SQL. Le projet fournit une documentation utilisateur. L’interface de type tableur est commode pour l’inspection, mais le projet précise qu’elle ne vise pas à remplacer un véritable tableur.
Comprendre les tables et le schéma
Une table contient des lignes et des colonnes. Une vue est une requête enregistrée que l’on peut interroger comme une table. Un index peut accélérer certaines recherches, au prix d’espace supplémentaire et d’un travail additionnel lors des écritures. Un trigger exécute automatiquement une action à la suite d’un événement. Une clé étrangère décrit une relation, mais ne présumez pas qu’elle est appliquée dans la connexion en cours sans vérifier la configuration.
Pour afficher les tables, index, vues et triggers, lancez :
Rank #3
SELECT type, name, tbl_name, sql
FROM sqlite_master
WHERE type IN ('table', 'index', 'view', 'trigger')
ORDER BY type, name;
Pour inspecter les colonnes, les clés étrangères et les index d’une table :
PRAGMA table_info('ma_table');
PRAGMA foreign_key_list('ma_table');
PRAGMA index_list('ma_table');
Le nom interne sqlite_master et les informations de schéma sont décrits dans la documentation SQLite. Pour activer les clés étrangères, si cela convient à votre opération, utilisez :
PRAGMA foreign_keys = ON;
Ce réglage concerne la connexion courante ; il ne modifie pas durablement le schéma du fichier. Consultez la documentation de SQLite sur ce pragma.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Créer une base et une table
Pour démarrer, créez ou ouvrez un fichier de base dans DB Browser, puis définissez une table dans l’interface ou exécutez le SQL suivant :
CREATE TABLE IF NOT EXISTS produits (
id INTEGER PRIMARY KEY,
nom TEXT NOT NULL,
prix NUMERIC NOT NULL CHECK (prix >= 0),
stock INTEGER NOT NULL DEFAULT 0,
cree_le TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
);
INTEGER PRIMARY KEY utilise le mécanisme spécial de clé entière de SQLite. NOT NULL interdit une valeur absente, DEFAULT fournit une valeur si elle n’est pas précisée, et CHECK impose une condition. SQLite utilise un typage dynamique avec des affinités : la déclaration d’un type ne se comporte pas toujours comme une colonne strictement typée dans d’autres systèmes de bases de données. Consultez les pages sur la création de tables et les types de données.
Lire, rechercher et compter les données
Commencez par limiter les lignes affichées, surtout dans une grande table :
SELECT *
FROM clients
LIMIT 100;
Recherchez une valeur ou triez les résultats :
SELECT *
FROM clients
WHERE nom LIKE '%Martin%';
SELECT *
FROM clients
ORDER BY date_creation DESC;
Pour résumer des données, regroupez et comptez :
SELECT statut, COUNT(*) AS total
FROM commandes
GROUP BY statut
ORDER BY total DESC;
SELECT * est utile pour une vérification rapide. Dans les requêtes que vous conservez ou réutilisez, préférez nommer explicitement les colonnes : l’ajout ultérieur d’une colonne peut autrement changer le résultat. La syntaxe de SELECT est détaillée dans la documentation SQLite.
Pour trouver des doublons :
SELECT email, COUNT(*) AS total
FROM utilisateurs
GROUP BY email
HAVING COUNT(*) > 1;
Modifier des lignes sans risque
Avant un UPDATE ou un DELETE, exécutez un SELECT avec le même filtre afin de vérifier précisément les lignes concernées :
Rank #4
SELECT *
FROM clients
WHERE id = 42;
Vous pouvez ensuite réaliser une modification dans une transaction :
BEGIN TRANSACTION;
UPDATE clients
SET email = '[email protected]'
WHERE id = 42;
SELECT changes();
-- Si le résultat est correct :
COMMIT;
-- En cas de doute, à la place de COMMIT :
-- ROLLBACK;
Contrôlez les lignes modifiées et vérifiez le résultat avant COMMIT. ROLLBACK annule les modifications non validées dans la transaction. Pour les opérations plus larges, une sauvegarde préalable reste nécessaire : une transaction ne protège pas contre toutes les erreurs d’utilisation ni contre un mauvais fichier. La documentation couvre les transactions et les mises à jour.
Importer un fichier CSV
Un CSV peut être utile pour transférer des données d’un tableur ou d’un autre logiciel. Avant l’import :
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →- Faites une copie de la base et, si possible, importez d’abord dans une nouvelle table temporaire.
- Vérifiez que le fichier est en UTF-8 et identifiez son séparateur : virgule, point-virgule ou tabulation.
- Confirmez si la première ligne contient les noms de colonnes.
- Vérifiez les types attendus, la clé primaire, les valeurs manquantes et le traitement des guillemets.
- Après l’import, comptez les lignes, recherchez les valeurs nulles et les doublons, puis examinez quelques enregistrements.
SELECT COUNT(*) FROM import_temp;
SELECT *
FROM import_temp
WHERE id IS NULL
LIMIT 20;
SELECT id, COUNT(*) AS occurrences
FROM import_temp
GROUP BY id
HAVING COUNT(*) > 1;
Si les accents sont incorrects, le fichier est peut-être encodé en Windows-1252 ou ISO-8859-1 plutôt qu’en UTF-8. Convertissez-le ou testez l’import dans une table temporaire avant de remplacer des données. Si dates et nombres sont erronés, vérifiez aussi le format de date et le séparateur décimal.
Le projet a ajouté dans certaines versions récentes des fonctions d’import CSV en ligne de commande, y compris un mode où un CSV seul comme argument peut être chargé dans une base en mémoire. Ce comportement dépend de la version et des paramètres : vérifiez les notes de publication de la version installée plutôt que de le supposer disponible partout.
Exporter : CSV, SQL ou copie du fichier ?
| Format | À quoi il sert | Ce qu’il ne conserve pas forcément |
|---|---|---|
| CSV | Échanger une table ou un résultat avec un tableur ou un autre outil. | Le schéma complet, les index, les contraintes, les vues, les triggers et les relations entre tables. |
| Dump SQL | Recréer logiquement des tables et des données dans une base compatible. | Ce n’est pas une copie binaire identique du fichier ; vérifiez ce que le dump inclut. |
| Copie du fichier SQLite | Transférer ou sauvegarder la base comme fichier. | Une copie faite pendant que la base est active peut être incohérente si des données se trouvent dans des fichiers de journal associés. |
Dans DB Browser, les fonctions d’export permettent de choisir une table ou des résultats, puis un format. Utilisez un CSV pour l’échange de données, un dump SQL pour une reconstruction logique, et une sauvegarde SQLite appropriée pour conserver la base entière. Consultez la documentation SQLite sur la sauvegarde et la ligne de commande.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Vérifier l’intégrité et examiner les performances
Pour une vérification d’intégrité complète, lancez :
PRAGMA integrity_check;
Une réponse ok est le résultat attendu en cas de succès. Pour une vérification plus légère, utilisez PRAGMA quick_check;. Ces contrôles ne remplacent pas une sauvegarde. Si SQLite signale une erreur, conservez l’original intact et travaillez sur une copie.
Best Value
Un index peut aider les recherches répétées sur une colonne :
CREATE INDEX IF NOT EXISTS idx_clients_email
ON clients(email);
DROP INDEX IF EXISTS idx_clients_email;
Un index consomme de l’espace et peut rendre les écritures plus coûteuses ; n’en ajoutez pas sans besoin. Pour comprendre comment une requête est exécutée, examinez son plan :
EXPLAIN QUERY PLAN
SELECT *
FROM clients
WHERE email = '[email protected]';
Les commandes PRAGMA et EXPLAIN QUERY PLAN sont documentées par SQLite (intégrité, plan d’exécution). DB Browser propose aussi une fonction de compactage. Avant de compacter, sauvegardez le fichier et assurez-vous qu’aucune autre application ne l’utilise.
Cas particulier : base chiffrée avec SQLCipher
DB4S annonce une prise en charge de SQLite et SQLCipher, mais elle n’est pas garantie dans chaque paquet. Un fichier SQLCipher ne s’ouvre pas nécessairement comme une base SQLite ordinaire ; la disponibilité dépend du binaire installé. Même avec le bon outil, le mot de passe seul ne suffit pas toujours : la version, le format et les paramètres de compatibilité employés au chiffrement comptent. Ne testez pas des paramètres au hasard sur l’unique original ; conservez une copie et confirmez les informations auprès de la personne ou du logiciel ayant créé la base.
Le dépôt explique comment compiler avec SQLCipher, notamment avec l’option -Dsqlcipher=1 et les dépendances de développement correspondantes (instructions de compilation). Cette procédure s’adresse aux utilisateurs qui compilent l’application ; elle n’est pas nécessaire pour la majorité des usages.
Problèmes courants et solutions
| Symptôme | Causes possibles | À essayer |
|---|---|---|
| La base ne s’ouvre pas ou semble verrouillée. | Mauvais format ou mauvais fichier, application d’origine encore ouverte, transaction active, permissions insuffisantes, fichiers auxiliaires en usage ou chiffrement. | Fermez l’application d’origine, travaillez sur une copie locale, vérifiez les permissions et le format. Ne supprimez pas les fichiers WAL ou journaux. Consultez la documentation sur le verrouillage. |
| Aucune table ou donnée ne s’affiche. | Mauvaise base, fichier vide, filtre actif, mauvaise table ou transaction non validée. | Vérifiez le schéma et le nombre de lignes :
|
| Les accents sont illisibles après import. | Encodage du CSV ou délimiteur incorrect. | Convertissez une copie en UTF-8 et testez l’import sur une table temporaire. |
| Une modification n’apparaît pas. | Transaction non validée, fichier en lecture seule ou consultation d’une autre copie. | Vérifiez COMMIT, les permissions et le chemin exact du fichier ; fermez proprement puis rouvrez la base. |
| Une requête est lente. | Table volumineuse, filtre sans index adapté, requête coûteuse ou fichier sur un partage réseau. | Examinez le plan avec EXPLAIN QUERY PLAN et évitez de charger inutilement toutes les colonnes et lignes. |
| La vérification d’intégrité signale une erreur. | Problème d’intégrité ou corruption. | Ne tentez pas une réparation destructive sur l’original. Dupliquez le fichier, conservez le message exact et suivez la documentation SQLite sur la récupération et la prévention de la corruption. |
Les dates et heures méritent une attention particulière : SQLite n’a pas un type date/heure natif identique à celui de certains autres SGBD. Elles sont souvent stockées sous forme de texte ISO 8601, de nombre julien ou d’entier Unix. Pour du texte, un format comme 2026-08-18 14:30:00 facilite le tri et la lecture. Les conventions sont décrites dans les pages sur les types et les fonctions date/heure.
DB Browser ou un autre outil ?
- Choisissez DB Browser pour inspecter visuellement une base locale, comprendre son schéma, apprendre SQL, modifier quelques lignes ou importer et exporter des fichiers.
- Choisissez SQLite CLI pour automatiser des opérations, répéter des commandes dans un script ou travailler sans interface graphique. La CLI officielle SQLite est scriptable et complémentaire de DB4S.
- Choisissez un outil plus spécialisé si vous devez administrer PostgreSQL, MySQL ou SQL Server, gérer des connexions distantes et des utilisateurs, ou conduire des migrations complexes et un travail d’équipe. DB Browser n’est ni un serveur ni une console distante multi-SGBD.
Pour des workflows automatisés autour de SQLite, des outils comme sqlite-web ou sqlite-utils peuvent être pertinents selon votre environnement. Pour ouvrir simplement un fichier, un abonnement commercial n’est pas nécessaire.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

