# Layout Option Groups

The following layout algorithms are available in ELK:

Layout Option Groups | Identifier
--- | ---
compaction | `org.eclipse.elk.layered.compaction`
compaction.postCompaction | `org.eclipse.elk.layered.compaction.postCompaction`
componentCompaction | `org.eclipse.elk.disco.componentCompaction`
crossingMinimization | `org.eclipse.elk.layered.crossingMinimization`
crossingMinimization.greedySwitch | `org.eclipse.elk.layered.crossingMinimization.greedySwitch`
cycleBreaking | `org.eclipse.elk.layered.cycleBreaking`
debug | `org.eclipse.elk.disco.debug`
edge | `org.eclipse.elk.edge`
edgeLabels | `org.eclipse.elk.edgeLabels`
edgeLabels | `org.eclipse.elk.layered.edgeLabels`
edgeRouting | `org.eclipse.elk.layered.edgeRouting`
font | `org.eclipse.elk.font`
highDegreeNodes | `org.eclipse.elk.layered.highDegreeNodes`
insideSelfLoops | `org.eclipse.elk.insideSelfLoops`
layering | `org.eclipse.elk.layered.layering`
layering.coffmanGraham | `org.eclipse.elk.layered.layering.coffmanGraham`
layering.minWidth | `org.eclipse.elk.layered.layering.minWidth`
layering.nodePromotion | `org.eclipse.elk.layered.layering.nodePromotion`
nodeLabels | `org.eclipse.elk.nodeLabels`
nodePlacement | `org.eclipse.elk.layered.nodePlacement`
nodePlacement.bk | `org.eclipse.elk.layered.nodePlacement.bk`
nodePlacement.linearSegments | `org.eclipse.elk.layered.nodePlacement.linearSegments`
nodePlacement.networkSimplex | `org.eclipse.elk.layered.nodePlacement.networkSimplex`
nodeSize | `org.eclipse.elk.nodeSize`
partitioning | `org.eclipse.elk.partitioning`
polyomino | `org.eclipse.elk.polyomino`
port | `org.eclipse.elk.port`
portAlignment | `org.eclipse.elk.portAlignment`
portLabels | `org.eclipse.elk.portLabels`
priority | `org.eclipse.elk.layered.priority`
spacing | `org.eclipse.elk.layered.spacing`
spacing | `org.eclipse.elk.spacing`
wrapping | `org.eclipse.elk.layered.wrapping`
wrapping.cutting | `org.eclipse.elk.layered.wrapping.cutting`
wrapping.cutting.msd | `org.eclipse.elk.layered.wrapping.cutting.msd`
wrapping.multiEdge | `org.eclipse.elk.layered.wrapping.multiEdge`
wrapping.singleEdge | `org.eclipse.elk.layered.wrapping.singleEdge`
wrapping.singleEdge.validify | `org.eclipse.elk.layered.wrapping.singleEdge.validify`

- Algorithms
- Box Layout
- Circo
- Dot
- Draw2D Layout
- ELK DisCo
- ELK Force
- ELK Layered
- ELK Mr. Tree
- ELK Radial
- ELK Stress
- FDP
- Fixed Layout
- Neato
- Randomizer
- Twopi
- Layout Options
- Activate Inside Self Loops
- Adapt Port Positions
- Add Unnecessary Bendpoints
- Additional Port Space
- Additional Wrapped Edges Spacing
- Alignment
- Animate
- Animation Time Factor
- Annulus Wedge Criteria
- Aspect Ratio
- BK Edge Straightening
- BK Fixed Alignment
- Bend Points
- Box Layout Mode
- Comment Box
- Compaction
- Compaction Step Size
- Components Spacing
- Concentrate Edges
- Connected Components Compaction
- Connected Components Compaction Strategy
- Connected Components Layout Algorithm
- Content Alignment
- Correction factor for the wrapping
- Crossing Minimization Strategy
- Cutting Strategy
- Cycle Breaking Strategy
- DCGraph
- Debug Mode
- Desired Edge Length
- Direction
- Direction Priority
- Distance Model
- Distance Penalty When Improving Cuts
- Eades Repulsion
- Edge Center Label Placement Strategy
- Edge Edge Between Layer Spacing
- Edge Label Placement
- Edge Label Side Selection
- Edge Label Spacing
- Edge Node Between Layers Spacing
- Edge Node Spacing
- Edge Routing
- Edge Spacing
- Edge Thickness
- Edge Type
- Epsilon
- Expand Nodes
- FR Temperature
- Favor Straight Edges Over Balancing
- Feedback Edges
- Fill Polyominoes
- Fixed Position
- Font Name
- Font Size
- Force Model
- Graph Wrapping Strategy
- Greedy Switch Activation Threshold
- Greedy Switch Crossing Minimization
- Hierarchical Sweepiness
- Hierarchy Handling
- High Degree Node Maximum Tree Height
- High Degree Node Threshold
- High Degree Node Treatment
- Hypernode
- Improve Cuts
- Improve Wrapped Edges
- Individual Spacing Override
- Inline Edge Labels
- Inside Self Loop
- Interactive
- Interactive Reference Point
- Iteration Limit
- Iterations
- Iterations Factor
- Junction Points
- Label Angle
- Label Distance
- Label Manager
- Label Manager
- Label Node Spacing
- Label Port Spacing
- Label Spacing
- Layer Bound
- Layer Constraint
- Layer Spacing Factor
- Layout Algorithm
- Layout Ancestors
- Layout Dimension
- Layout Partition
- Layout Partitioning
- Linear Segments Deflection Dampening
- List of Polyominoes
- MSD Freedom
- Manually Specified Cuts
- Margins
- Max Node Promotion Iterations
- Max. Iterations
- Maximal Animation Time
- Merge Edges
- Merge Hierarchy-Crossing Edges
- Minimal Animation Time
- No Layout
- Node Flexibility
- Node Flexibility Default
- Node Label Padding
- Node Label Placement
- Node Layering Strategy
- Node Node Between Layers Spacing
- Node Placement Strategy
- Node Promotion Strategy
- Node Size Constraints
- Node Size Minimum
- Node Size Options
- Node Spacing
- North or South Port
- Order ID
- Overlap Removal
- Padding
- Path-Like Validify Strategy
- Polyomino Primary Sorting Criterion
- Polyomino Secondary Sorting Criterion
- Polyomino Traversal Strategy
- Port Alignment
- Port Alignment (East)
- Port Alignment (North)
- Port Alignment (South)
- Port Alignment (West)
- Port Anchor Offset
- Port Border Offset
- Port Constraints
- Port Index
- Port Label Placement
- Port Labels Next to Port
- Port Side
- Port Spacing
- Position
- Post Compaction Constraint Calculation
- Post Compaction Strategy
- Priority
- Progress Bar
- Radius
- Randomization Seed
- Repulsive Power
- Scale Factor
- Search Order
- Semi-Interactive Crossing Minimization
- Separate Connected Components
- Shortness Priority
- Sloppy Spline Layer Spacing Factor
- Sloppy Spline Routing
- Sorter
- Spline Self-Loop Placement
- Straightness Priority
- Stress Epsilon
- Thoroughness
- Translation Optimization
- Upper Bound On Width [MinWidth Layerer]
- Upper Layer Estimation Scaling Factor [MinWidth Layerer]
- Validate Options
- Weighting of Nodes
- Wide Nodes on Multiple Layers
- Zoom to Fit
- Layout Option Groups
- compaction
- compaction.postCompaction
- componentCompaction
- crossingMinimization
- crossingMinimization.greedySwitch
- cycleBreaking
- debug
- edge
- edgeLabels
- edgeLabels
- edgeRouting
- font
- highDegreeNodes
- insideSelfLoops
- layering
- layering.coffmanGraham
- layering.minWidth
- layering.nodePromotion
- nodeLabels
- nodePlacement
- nodePlacement.bk
- nodePlacement.linearSegments
- nodePlacement.networkSimplex
- nodeSize
- partitioning
- polyomino
- port
- portAlignment
- portLabels
- priority
- spacing
- spacing
- wrapping
- wrapping.cutting
- wrapping.cutting.msd
- wrapping.multiEdge
- wrapping.singleEdge
- wrapping.singleEdge.validify