Package selection guidance compiled from public package information, community data, and project usage.
A Flutter package that implements Figma's layout grid system as a visual aid, helping developers align UI elements consistently with design specifications. It supports Figma's grid features such as column count, gutter size, and offset, enabling precise layout matching between design and implementation. The grid is rendered as an overlay on the screen, making it ideal for prototyping and development. Compatible across all major platforms, it enhances collaboration between designers and developers by bridging the gap between Figma designs and live Flutter apps.
Use cases
Matching Figma designs in Flutter apps
Prototyping with visual grid alignment
Collaborating between designers and developers
Ensuring consistent spacing in UI layouts
Visual debugging of layout constraints
Key features
Figma-inspired grid system
Real-time visual grid overlay
Supports columns, gutters, and offsets
Cross-platform compatibility
Easy integration via pub add
Customizable grid appearance
Suitable for
Designers working with Flutter
Flutter developers following Figma designs
Teams using Figma for UI/UX workflows
Projects requiring pixel-perfect layout alignment
Frontend teams focused on design consistency
Considerations
Grid is for visual aid only, not layout logic
Not intended for production UI rendering
May impact performance if used excessively
Should be disabled in release builds
Requires manual configuration for different screens
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Figma layout grid
figma_layout_grid is a Flutter package which imitates Figma's layout grid and all its functionalities. It helps you determine whether your UI components match the design file and align properly.
Basic usage
Wrap a widget with LayoutGrid in order to render a layout grid on top of it.
This package supports three types of layout overlays - rows, columns and pixel grid.
Rows
Horizontal stripes with specified height, gutter, margin, offset, arrangement and color.
There is a possibility for fixed rows count with passing desired number in a count parameter, otherwise rows are rendered dynamically due to the screen limits.
Vertical stripes with specified height, gutter, margin, offset, arrangement and color.
There is a possibility for fixed columns count with passing desired number in a count parameter, otherwise columns are rendered dynamically due to the screen limits.
By default all of the layouts are disabled. In order to manage layout grid state you may use LayoutGrid methods which are accessible via builder context.
bool LayoutGrid.of(context).visibleGrid - returns current grid layout visibility state
Parametrization
As this package mimics Figma's layout grid features you can directly transfer desired outcome into corresponding parameters. The following example shows columns grid set with count = 10, height = 12, gutter = 12, offset = 24, bottom alignment and some custom color.
There is also a possibility to enable SafeArea for a specific layout.
Each of the three layers has optional SafeAreaParams within you can pass what SafeArea parts should be handled.
The available options are top, bottom, left and right which correspond to SafeArea's parameters with the same names.