Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Icon Atlas Studio

Build pixel-perfect icon atlases visually.

Icon Atlas Studio is a professional visual editor for creating customizable icon atlases and sprite sheets with drag-and-drop, theming, pixel-perfect layout, and developer-ready exports.

Designed for developers, designers, and teams who need complete control over how icons are organized, styled, rendered, and exported.


✨ Overview

Icon Atlas Studio lets you visually build an icon atlas from a large icon library without manually editing images or calculating sprite coordinates.

Instead of managing hundreds of individual icon files, you can create a single optimized atlas and use its generated metadata in your application.

The workflow

Search Icons
     ↓
Drag & Drop
     ↓
Arrange on Canvas
     ↓
Customize
     ↓
Preview
     ↓
Generate Atlas
     ↓
Export

You have complete control over the atlas:

  • Canvas dimensions
  • Rows and columns
  • Cell dimensions
  • Icon dimensions
  • Icon position
  • Padding
  • Spacing
  • Alignment
  • Icon color
  • Background
  • Transparency
  • Themes
  • Grid
  • Snap behavior
  • Export resolution
  • Export format
  • Metadata

🎯 Why Icon Atlas Studio?

Managing large collections of icons can become unnecessarily complicated.

A project may contain:

home.svg
search.svg
user.svg
settings.svg
notification.svg
cart.svg
heart.svg
share.svg
edit.svg
delete.svg
...

With an icon atlas, these assets can be organized into a single image:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Home  β”‚ Search β”‚  User  β”‚ Settingsβ”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Bell  β”‚  Cart  β”‚ Heart  β”‚  Share  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Edit  β”‚ Delete β”‚  Plus  β”‚  Menu   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Icon Atlas Studio makes creating that atlas visual, configurable, and developer-friendly.


πŸš€ Features

🎨 Visual Canvas

A powerful canvas for designing your icon atlas.

  • Zoom
  • Pan
  • Grid
  • Snap
  • Guides
  • Pixel-perfect positioning
  • Cell selection
  • Multi-selection
  • Drag and drop
  • Keyboard navigation
  • Alignment tools
  • Distribution tools

πŸ”Ž Icon Library

Search and browse icons directly inside the editor.

Features include:

  • Icon search
  • Categories
  • Recently used icons
  • Favorites
  • Drag-and-drop
  • Icon previews
  • Icon metadata

The icon system is designed around a provider architecture so additional icon sources can be added in the future.

🧩 Drag & Drop

Drag an icon directly from the library onto the canvas.

You can:

  • Add icons
  • Move icons
  • Reorder icons
  • Duplicate icons
  • Delete icons
  • Move icons between cells

The canvas provides visual feedback while dragging.

πŸ“ Pixel-Perfect Layout

Control every dimension of the atlas.

  • Grid
  • Rows
  • Columns
  • Cell width
  • Cell height
  • Horizontal gap
  • Vertical gap
  • Spacing
  • Top / right / bottom / left padding
  • Position (X, Y)
  • Width / Height

Everything can be configured precisely.

🎨 Complete Customization

Every icon and cell can be customized.

Icon properties

  • Size (width, height)
  • Position
  • Rotation
  • Scale
  • Opacity
  • Alignment
  • Color

Cell properties

  • Background
  • Border
  • Border width
  • Border radius
  • Padding
  • Alignment

🌈 Theme System

Create and customize complete themes.

The application includes a sophisticated dark green theme by default.

Built-in themes

  • Forest
  • Emerald
  • Midnight
  • Carbon
  • Ocean
  • Purple
  • Minimal
  • Monochrome
  • Transparent
  • Custom

Themes can control:

  • Application background
  • Surfaces
  • Borders
  • Primary color
  • Accent color
  • Text / muted text
  • Canvas background
  • Grid color
  • Selection color
  • Icon colors

πŸŒ“ Transparent Backgrounds

Create atlases with transparent backgrounds.

Transparency can be previewed using a checkerboard canvas.

This is particularly useful for:

  • Mobile applications
  • React Native
  • Web applications
  • Games
  • UI libraries

πŸ–ΌοΈ Export

Generate production-ready icon assets directly from the editor.

Supported formats

  • PNG
  • WebP
  • JSON metadata
  • TypeScript
  • CSS

Export configuration can include:

  • Resolution
  • Pixel ratio
  • Background
  • Transparency
  • Metadata
  • Runtime helpers

πŸ“¦ Developer-Ready Metadata

Every generated atlas can include metadata describing the location of each icon.

Example:

{
  "version": "1.0",
  "atlas": {
    "width": 512,
    "height": 256
  },
  "cell": {
    "width": 32,
    "height": 32
  },
  "icons": {
    "home": {
      "x": 0,
      "y": 0,
      "width": 32,
      "height": 32
    },
    "search": {
      "x": 32,
      "y": 0,
      "width": 32,
      "height": 32
    }
  }
}

This allows applications to determine exactly which region of the atlas contains each icon.

βš›οΈ React Native

Icon Atlas Studio is designed with mobile developers in mind.

Generated atlas metadata can be used to create a simple icon component:

<Icon name="home" size={24} />

The generated implementation can map the icon name to its corresponding region of the atlas.

This makes it possible to maintain a large icon collection while distributing a compact atlas asset.

πŸ› οΈ Developer Mode

Developer Mode exposes the technical information behind the visual editor.

For each icon you can inspect:

Name: home
X: 0
Y: 0
Width: 32
Height: 32

You can also inspect:

  • Atlas dimensions
  • Cell dimensions
  • Pixel coordinates
  • Icon bounds
  • Export settings
  • Metadata

This makes the tool useful for both designers and developers.

πŸ’Ύ Project Files

Projects can be saved as portable project files.

Example:

my-icons.atlas.json

A project contains:

  • Atlas configuration
  • Grid configuration
  • Icon positions
  • Icon properties
  • Theme
  • Canvas settings
  • Export settings

Projects can be imported later and edited again.

↩️ Undo & Redo

The editor provides history management for common operations.

Supported operations include:

  • Add
  • Remove
  • Move
  • Resize
  • Recolor
  • Reorder
  • Grid changes
  • Theme changes
  • Layout changes

Keyboard shortcuts

Action Shortcut
Undo Cmd/Ctrl + Z
Redo Cmd/Ctrl + Shift + Z
Duplicate Cmd/Ctrl + D
Select All Cmd/Ctrl + A
Save Cmd/Ctrl + S
Command Palette Cmd/Ctrl + K

🧠 Smart Layout

Icon Atlas Studio provides automatic layout tools.

  • Auto Arrange β€” Automatically organize icons into the atlas grid.
  • Compact β€” Remove unnecessary empty rows and columns.
  • Normalize Sizes β€” Make selected icons use consistent dimensions.
  • Normalize Padding β€” Apply consistent spacing to selected cells.
  • Center All β€” Center selected icons inside their cells.
  • Distribute β€” Distribute icons horizontally or vertically.

πŸ§ͺ Pixel Precision

Pixel-perfect mode is designed specifically for sprite and atlas workflows.

When enabled:

  • Positions use integer pixels
  • Dimensions use integer pixels
  • Fractional positioning is avoided
  • Export coordinates remain deterministic

This helps prevent unexpected rendering differences in sprite-based systems.


🧱 Architecture

Icon Atlas Studio is designed as a modular editor rather than a collection of disconnected UI components.

The application separates:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚       UI Layer        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     Editor State      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   Canvas Renderer      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    Icon Providers      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     Atlas Model        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    Theme System         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    Export Engine        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Metadata Generator     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     Persistence         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

This makes it possible to add new features and icon providers without rewriting the editor.

🧩 Icon Provider Architecture

Icon Atlas Studio uses an abstraction layer for icon sources.

Conceptually:

interface IconProvider {
  search(query: string): IconDefinition[];
  getCategories(): IconCategory[];
  getIcon(id: string): IconDefinition | null;
}

This allows future support for:

  • Built-in icon libraries
  • Custom SVG icons
  • User-uploaded icons
  • External icon providers
  • Project-specific icon collections

πŸ“ Project Structure

The project is organized around clear responsibilities.

icon-atlas-studio/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ editor/
β”‚   β”œβ”€β”€ settings/
β”‚   └── ...
β”‚
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ canvas/
β”‚   β”œβ”€β”€ icon-library/
β”‚   β”œβ”€β”€ inspector/
β”‚   β”œβ”€β”€ toolbar/
β”‚   β”œβ”€β”€ export/
β”‚   └── ui/
β”‚
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ atlas/
β”‚   β”œβ”€β”€ renderer/
β”‚   β”œβ”€β”€ icons/
β”‚   β”œβ”€β”€ themes/
β”‚   β”œβ”€β”€ export/
β”‚   └── storage/
β”‚
β”œβ”€β”€ types/
β”‚
β”œβ”€β”€ public/
β”‚
└── README.md

The exact structure may evolve as the project grows.


πŸ’» Tech Stack

Icon Atlas Studio is built using modern web technologies.

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • HTML Canvas
  • Web APIs
  • LukaDev Icon Library

Additional dependencies should only be introduced when they provide meaningful value.


⚑ Performance

Performance is a core requirement.

The editor is designed to remain responsive when working with large icon collections and large atlases.

Important considerations include:

  • Memoized components
  • Virtualized icon lists
  • Debounced search
  • Efficient state updates
  • Canvas rendering
  • Offscreen rendering where supported
  • Web Workers for expensive operations
  • Lazy loading
  • Minimal unnecessary React renders

The goal is to keep the editor responsive even with hundreds or thousands of available icons.


πŸ” Privacy

The core editor is designed to work locally in the browser wherever possible.

Projects can be stored locally and exported without requiring a backend for the basic workflow.

No project data should be sent to a server unless a future feature explicitly requires it and the user is informed.


πŸ–₯️ Getting Started

Requirements

Make sure you have:

  • Node.js
  • npm, pnpm, or another supported package manager
  • Git

Clone the repository

https://github.com/iplustsolution/Icon-Atlas-Studio.git
cd Icon-Atlas-Studio

Install dependencies

Using npm:

npm install

Or using pnpm:

pnpm install

Start development server

npm run dev

Then open:

http://localhost:3000

πŸ—οΈ Build

Create a production build:

npm run build

Start the production server:

npm run start

🧹 Code Quality

Before submitting changes, run the project's checks:

npm run lint

If formatting is configured:

npm run format

πŸ—ΊοΈ Roadmap

Phase 1 β€” Core Editor

  • Canvas
  • Icon library
  • Icon search
  • Drag and drop
  • Grid system
  • Cell selection
  • Icon properties
  • Canvas zoom
  • Pan
  • Snap
  • Undo / redo

Phase 2 β€” Customization

  • Theme system
  • Custom colors
  • Transparent backgrounds
  • Cell customization
  • Multi-selection
  • Alignment tools
  • Distribution tools
  • Smart layout

Phase 3 β€” Export

  • PNG export
  • WebP export
  • JSON metadata
  • TypeScript export
  • React Native helper
  • CSS export
  • Export presets

Phase 4 β€” Advanced Editor

  • Layers
  • Guides
  • Rulers
  • Command palette
  • Keyboard shortcuts
  • Pixel-perfect mode
  • Advanced validation
  • Optical alignment

Phase 5 β€” Ecosystem

  • Custom icon upload
  • Multiple icon providers
  • Project templates
  • Community themes
  • Shareable projects
  • Cloud projects
  • Team collaboration

🀝 Contributing

Contributions are welcome.

If you would like to contribute:

  1. Fork the repository.
  2. Create a feature branch.
  3. Make your changes.
  4. Test your changes.
  5. Run linting and formatting.
  6. Commit your changes.
  7. Open a pull request.

Example:

git checkout -b feature/my-feature

Then:

git add .
git commit -m "feat: add my feature"
git push origin feature/my-feature

πŸ’‘ Feature Requests

Have an idea?

Open a GitHub issue and describe:

  • What problem it solves
  • How you expect it to work
  • Why it would be useful
  • Any examples or references

Screenshots and prototypes are especially welcome.


πŸ› Bug Reports

When reporting a bug, include:

  • Operating system
  • Browser
  • Browser version
  • Project configuration
  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Screenshots if applicable
  • Console errors if available

πŸ“œ License

This project is licensed under the MIT License.

See LICENSE for details.


⭐ Support the Project

If Icon Atlas Studio is useful to you:

  • ⭐ Star the repository
  • πŸ› Report bugs
  • πŸ’‘ Suggest features
  • πŸ”§ Contribute improvements
  • πŸ“’ Share it with other developers

Every contribution helps improve the project.


πŸ“Œ Project Status

🚧 Icon Atlas Studio is currently under active development.

The API, project format, export format, and internal architecture may change while the project evolves.


Built for Pixel-Perfect Icon Workflows
Icon Atlas Studio β€” Build pixel-perfect icon atlases visually.

About

A professional visual editor for creating customizable icon atlases and sprite sheets with drag-and-drop, theming, pixel-perfect layout, and developer-ready exports.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors