go-ini/ini

Package ini provides INI file read and write functionality in Go

3,543

stars

322

commits

Go

primary language

Sep 5, 2026

updated

ini.unknwon.io
configuration
go
ini
lsif-enabled
parser

README

INI

GoDoc

Package ini provides INI file read and write functionality in Go.

Features

  • Load from multiple data sources(file, []byte, io.Reader and io.ReadCloser) with overwrites.
  • Read with recursion values.
  • Read with parent-child sections.
  • Read with auto-increment key names.
  • Read with multiple-line values.
  • Read with tons of helper methods.
  • Read and convert values to Go types.
  • Read and WRITE comments of sections and keys.
  • Manipulate sections, keys and comments with ease.
  • Keep sections and keys in order as you parse and save.

Installation

The minimum requirement of Go is 1.13.

$ go get gopkg.in/ini.v1@latest

[!NOTE] If you previously used github.com/go-ini/ini as the import path in your project, without updating all of your code, you can use the following command to replace the import path in your go.mod:

go mod edit -replace github.com/go-ini/ini=gopkg.in/ini.v1@latest

Getting Help

License

This project is under Apache v2 License. See the LICENSE file for the full license text.

Contributors

(top 30 of 57)

unknwon

247 commits

lyobzik

5 commits

ygj6

5 commits

kuuyee

4 commits

go-ini/ini

Package ini provides INI file read and write functionality in Go

3,543

stars

322

commits

Go

primary language

Sep 5, 2026

updated

ini.unknwon.io
configuration
go
ini
lsif-enabled
parser

README

INI

GoDoc

Package ini provides INI file read and write functionality in Go.

Features

  • Load from multiple data sources(file, []byte, io.Reader and io.ReadCloser) with overwrites.
  • Read with recursion values.
  • Read with parent-child sections.
  • Read with auto-increment key names.
  • Read with multiple-line values.
  • Read with tons of helper methods.
  • Read and convert values to Go types.
  • Read and WRITE comments of sections and keys.
  • Manipulate sections, keys and comments with ease.
  • Keep sections and keys in order as you parse and save.

Installation

The minimum requirement of Go is 1.13.

$ go get gopkg.in/ini.v1@latest

[!NOTE] If you previously used github.com/go-ini/ini as the import path in your project, without updating all of your code, you can use the following command to replace the import path in your go.mod:

go mod edit -replace github.com/go-ini/ini=gopkg.in/ini.v1@latest

Getting Help

License

This project is under Apache v2 License. See the LICENSE file for the full license text.

Contributors

(top 30 of 57)

unknwon

247 commits

lyobzik

5 commits

ygj6

5 commits

kuuyee

4 commits

Languages

Go

99.9%