Tilf (Tiny Elf) is a minimal, cross-platform pixel art editor designed for creators who want to draw sprites and small 2D assets without bureaucracy. Unlike many pixel art tools that require registration, cloud accounts, or complex setups, Tilf runs as a standalone executable with no internet dependency. Built with PySide6 and Python’s standard library, it prioritizes immediate usability: download, launch, and start drawing. It targets developers, game designers, and hobbyists who need fast, offline sprite creation for indie projects, retro games, or icon design. With no hidden features or paywalls, it’s truly free software with zero installation friction.
The project emerged from a personal need to avoid bloated editors and corporate tracking. It’s intentionally simple — supporting basic drawing tools, undo/redo, and export to common formats — with performance optimized for small canvases. While not suited for animation or advanced layering, it excels at rapid pixel-level editing where simplicity and portability matter most.
What You Get
- Pencil, Eraser, Fill, and Eyedropper Tools - Direct pixel-level editing with precise control for sprite design; the eyedropper lets you sample colors directly from the canvas.
- Canvas Customization - Create new images with custom dimensions, set editable background colors with alpha support, and toggle a customizable grid that appears at zoom levels of 4x or higher.
- Undo/Redo History (50 states) - Safely experiment with edits without fear of losing progress; history is capped to manage memory usage on low-end systems.
- Drag & Drop Image Support - Open PNG, JPEG, or BMP files by dragging them onto the app window — no need to navigate file dialogs.
- Real-Time Live Preview - A movable side dock displays a live preview of your work, useful for checking pixel accuracy without switching views.
- Export to PNG, JPEG, and BMP - Export sprites with optional transparency in PNG; JPEG and BMP outputs discard alpha channels for compatibility.
- Auto-Save Recovery - On app closure with unsaved changes, Tilf automatically saves a timestamped .png file in a ‘tilf_autosaves’ folder next to the executable.
- Cross-Platform Standalone Executables - Pre-built binaries for Windows, macOS, and Linux; no Python or dependency installation required to run.
Common Use Cases
- Building retro game sprites - Game developers creating 8-bit or 16-bit character assets for Unity, Godot, or custom engines without installing Photoshop or Aseprite.
- Designing UI icons for desktop apps - Developers needing small, crisp 16x16 or 32x32 icons for their PySide applications without relying on online tools.
- Problem: Need to edit pixel art offline with no account → Solution: Use Tilf - Users in restrictive environments (schools, labs, air-gapped systems) can create and export sprites without internet access or software registration.
- Team workflow for indie devs on mixed OSes - Multi-platform teams (Windows, Mac, Linux) share and edit pixel assets using the same executable without version conflicts or cloud dependencies.
Under The Hood
Tilf is a desktop-based pixel art editor built with Python and PySide6, offering a clean and modular approach to creating and editing pixel art. It emphasizes a well-structured UI with distinct layers for tools, state management, and utilities.
Architecture
Tilf follows a layered architecture that promotes separation of concerns and maintainability.
- The application uses a layered pattern where UI elements interact with state and tool logic through well-defined modules.
- State management is handled by a dedicated AppState class, decoupling the UI from data handling.
- The tool system implements a strategy pattern by defining base and concrete tool classes for different drawing operations.
- UI components like the canvas, toolbar, and dialogs are organized into dedicated modules with minimal cross-dependencies.
Tech Stack
Tilf is built using Python and PySide6, focusing on Qt-based desktop application development.
- The primary language is Python, with PySide6 as the GUI framework for building the desktop application.
- Configuration and styling are handled through external files (QSS stylesheet, resource paths).
- The project uses standard Python packaging and Makefile for build automation.
- Core functionality is structured with minimal external dependencies, focusing on Qt-based UI components.
Code Quality
Tilf demonstrates moderate code quality with consistent structure and basic testing practices.
- The codebase shows good naming conventions and logical grouping of related functionality.
- Error handling is present for resource loading, with fallbacks for missing assets or stylesheets.
- The application follows a clear separation between UI logic and core business logic, improving maintainability.
- Code duplication appears to be minimal, with shared base classes for tools and UI components.
What Makes It Unique
Tilf stands out by combining a pixel art editor with a clean, modular architecture tailored for desktop environments.
- The use of QSS (Qt Style Sheets) allows for extensive visual customization without altering core logic.
- The tool system is highly extensible, with a base class for implementing new drawing tools.
- It provides a self-contained desktop application with no external runtime dependencies beyond Qt.
- The project’s structure supports easy integration of new UI components or drawing modes through modular design.