Skip to content
GridCraft
FeaturesPricingGamesDocsEditor
FeaturesPricingGamesDocsEditor
GridCraft

A tile map editor for game developers.

Product

  • Features
  • Pricing
  • Editor

Resources

  • Documentation
  • Get Started
  • Sign In
  • Dashboard

Community

  • Send feedback
  • Discord

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
© 2026 GridCraft. A product of OmniaDev Inc.
Documentation menu
  • Getting started

    • Introduction
  • Editor concepts

    • Tile layers
    • Object layers
    • Tilesets
    • Variable-sized tiles
    • Terrain brushes
    • AutoMap rules
    • Plugins
  • Workflows

    • Open a Tiled file
    • Convert to GridCraft
    • Real-time collaboration
    • Edit with AI agents
    • Save to cloud
    • Use the desktop app
  • Export formats

    • Tiled JSON
    • LDtk
    • Godot 4
    • GameMaker
    • Defold
    • LOVE2D (Lua)
    • CSV
    • Binary (server-ready)
  • Account & cloud

    • Cloud sync, devices, Discord
  • Admin

    • Audit log
  • API reference

    • Overview
    • Auth
    • Maps
    • Billing
    • Admin
    • Discord linking
    • Devices
  • Legal

    • Legal index
  • Getting started

    • Introduction
  • Editor concepts

    • Tile layers
    • Object layers
    • Tilesets
    • Variable-sized tiles
    • Terrain brushes
    • AutoMap rules
    • Plugins
  • Workflows

    • Open a Tiled file
    • Convert to GridCraft
    • Real-time collaboration
    • Edit with AI agents
    • Save to cloud
    • Use the desktop app
  • Export formats

    • Tiled JSON
    • LDtk
    • Godot 4
    • GameMaker
    • Defold
    • LOVE2D (Lua)
    • CSV
    • Binary (server-ready)
  • Account & cloud

    • Cloud sync, devices, Discord
  • Admin

    • Audit log
  • API reference

    • Overview
    • Auth
    • Maps
    • Billing
    • Admin
    • Discord linking
    • Devices
  • Legal

    • Legal index

Tile layers

A tile layer is a 2D grid of integers. Each cell holds a global tile ID (GID): a number that points into the tileset list. A 0 means the cell is empty.

You can stack as many tile layers as you want. The order in the layer panel is the draw order, top of the list draws on top. Hide a layer and the renderer skips it; lock a layer and the brushes refuse to paint into it.

GIDs and flip flags

GridCraft follows the Tiled GID convention. The low 29 bits are the tile index. The top 3 bits are flip flags:

0x80000000  flipped horizontally
0x40000000  flipped vertically
0x20000000  flipped diagonally (combine with H or V for 90 / 270 rotation)

When you press X, Y, or D over a tile, GridCraft toggles those bits on the value in the cell. Exporters either preserve those bits (Tiled JSON, CSV) or translate them into the target engine's rotation encoding.

Map size and infinite maps

A finite map has a fixed width and height. Every layer shares those dimensions. An infinite map stores data in chunks instead: the editor only allocates a chunk where you actually paint. You can pan out as far as you want.

Both modes round-trip with Tiled. Infinite maps export to engines that support them (Tiled JSON), and get flattened to a finite bounding box for engines that don't (Godot, GameMaker, Defold, and the binary server export).

Properties

Tile layers carry their own properties (name, opacity, visible, offset, parallax). Tilesets carry per-tile properties. Object layers carry per-object properties. They all round-trip through the .tmj exporter.