Flag Maker
Start with an original flag design and make it yours. Choose a field or equal bands, set the height-to-width ratio, and arrange shapes, text or local artwork. Preview every edit, then save a self-contained SVG, a PNG image or an editable project.
Click a layer’s bounding box to select and drag it. For overlapping artwork, select from the layer list. Arrow keys move the selected layer; numeric fields give exact placement. Guides and selection outlines are excluded from downloads.
Flag foundation
Add to your flag
Import artwork or a project
PNG, JPEG, WebP or SVG. Raster inputs: up to 16 megapixels. Artwork is embedded as PNG at up to 2048 px on its longest side. SVG is sanitized first; scripts, CSS and unsupported elements are removed, and external references are rejected. Internal artwork paths are not separate editable layers.
Project import replaces the current flag and can be undone. Up to 64 layers and 32 MiB per project; SVG input up to 1 MiB and 10,000 elements.
Take your flag with you
SVG keeps native shapes and text scalable; uploaded artwork remains embedded PNG. The project file preserves editable layers, their order and transparency. Work stays in memory until you save it; undo retains the last 40 edits.
Original design workspace; does not certify official flag accuracy. Uploaded SVG is sanitized and external references rejected. Your design is processed locally and is not uploaded or automatically saved.
Common questions
- How do I set a flag’s aspect ratio?
- The ratio fields are labeled height and width. For a 2:3 flag, enter height 2 and width 3; the width is then 1.5 times the height. Export uses your selected longest side and rounds the other dimension to a whole pixel. You can also make square or portrait flags.
- Can I edit and reorder individual layers?
- Yes. Add rectangles, ellipses, triangles, stars, crosses, text and local artwork. Each layer has center coordinates, width, height, rotation, opacity and visibility. The layer list shows front to back. Move forward/backward, duplicate or remove layers; undo and redo retain up to 40 edits.
- How do dragging, grid guides and keyboard movement work?
- Select a layer from its bounding box or the layer list. Drag it on the flag, use exact percentage fields, or focus the canvas and press arrow keys. Arrows move by 1 percent, or the chosen grid step when snapping is enabled; Shift moves by 10 percent. Grid guides and selection outlines are never exported.
- What happens when I import an SVG?
- SVG input is parsed and sanitized locally. External references are rejected; scripts, CSS, animation and unsupported elements are removed. The sanitized artwork is converted to embedded PNG at up to 2048 pixels on its longest side. You can transform the artwork layer, but its internal paths are not individual editable layers. Inspect the preview because unsupported features may change the appearance.
- What is the difference between SVG, PNG and project downloads?
- SVG preserves native flag shapes and text as scalable elements and contains imported artwork as embedded PNG. PNG renders the whole flag into pixels, with a longest side of 800, 1600, 3200 or 4096 pixels. Project JSON retains editable layers, order, transparency and embedded artwork for later import. Text rendering depends on available system fonts.
- Is my design uploaded or automatically saved?
- No. Work runs locally and stays in memory. Save a project file before leaving the page to keep editable work. Imports are cancellable and replacing a project can be undone. The workspace supports 64 layers; projects are limited to 32 MiB, raster imports to 16 megapixels, and SVG imports to 1 MiB and 10,000 elements for bounded browser processing.
- Does this produce official national flags?
- This is an original design workspace. It does not certify official proportions, symbols or colors. The starting design is an original example, and you supply your own text, geometry and artwork.
Original design workspace; does not certify official flag accuracy. Uploaded SVG is sanitized and external references rejected.