Another option is the GRASS's [`v.to.lines`](https://grass.osgeo.org/grass78/manuals/v.to.lines.html) (search in the Processing Toolbox <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>T</kbd>). Input:<br> [![input][1]][1] Working window:<br> [![window][2]][2] Output:<br> [![output][3]][3] For PyQGIS it is `grass7:v.to.lines` >>> processing.algorithmHelp("grass7:v.to.lines") v.to.lines (grass7:v.to.lines) Converts vector polygons or points to lines. ---------------- Input parameters ---------------- input: Name of input vector map Parameter type: QgsProcessingParameterFeatureSource Accepted data types: - str: layer ID - str: layer name - str: layer source - QgsProcessingFeatureSourceDefinition - QgsProperty - QgsVectorLayer method: Method used for point interpolation Parameter type: QgsProcessingParameterEnum Available values: - 0: delaunay Accepted data types: - int - str: as string representation of int, e.g. '1' - QgsProperty output: Lines Parameter type: QgsProcessingParameterVectorDestination Accepted data types: - str - QgsProperty - QgsProcessingOutputLayerDefinition GRASS_REGION_PARAMETER: GRASS GIS 7 region extent Parameter type: QgsProcessingParameterExtent Accepted data types: - str: as comma delimited list of x min, x max, y min, y max. E.g. '4,10,101,105' - str: layer ID. Extent of layer is used. - str: layer name. Extent of layer is used. - str: layer source. Extent of layer is used. - QgsMapLayer: Extent of layer is used - QgsProcessingFeatureSourceDefinition: Extent of source is used - QgsProperty - QgsRectangle - QgsReferencedRectangle - QgsGeometry: bounding box of geometry is used GRASS_SNAP_TOLERANCE_PARAMETER: v.in.ogr snap tolerance (-1 = no snap) Parameter type: QgsProcessingParameterNumber Accepted data types: - int - float - QgsProperty GRASS_MIN_AREA_PARAMETER: v.in.ogr min area Parameter type: QgsProcessingParameterNumber Accepted data types: - int - float - QgsProperty GRASS_OUTPUT_TYPE_PARAMETER: v.out.ogr output type Parameter type: QgsProcessingParameterEnum Available values: - 0: auto - 1: point - 2: line - 3: area Accepted data types: - int - str: as string representation of int, e.g. '1' - QgsProperty GRASS_VECTOR_DSCO: v.out.ogr output data source options (dsco) Parameter type: QgsProcessingParameterString Accepted data types: - str - QgsProperty GRASS_VECTOR_LCO: v.out.ogr output layer options (lco) Parameter type: QgsProcessingParameterString Accepted data types: - str - QgsProperty GRASS_VECTOR_EXPORT_NOCAT: Also export features without category (not labeled). Otherwise only features with category are exported Parameter type: QgsProcessingParameterBoolean Accepted data types: - bool - int - str - QgsProperty ---------------- Outputs ---------------- output: <QgsProcessingOutputVectorLayer> Lines [1]: https://i.sstatic.net/IgGDN.png [2]: https://i.sstatic.net/kFkNB.png [3]: https://i.sstatic.net/y4ePR.png