diff --git a/docs/parsers/tune2fs.md b/docs/parsers/tune2fs.md
new file mode 100644
index 00000000..ad2c60dc
--- /dev/null
+++ b/docs/parsers/tune2fs.md
@@ -0,0 +1,234 @@
+[Home](https://kellyjonbrazil.github.io/jc/)
+
+
+# jc.parsers.tune2fs
+
+jc - JSON Convert `tune2fs -l` command output parser
+
+Usage (cli):
+
+ $ tune2fs -l /dev/xvda4 | jc --tune2fs
+
+or
+
+ $ jc tune2fs -l /dev/xvda4
+
+Usage (module):
+
+ import jc
+ result = jc.parse('tune2fs', tune2fs_command_output)
+
+Schema:
+
+ {
+ "version": string,
+ "filesystem_volume_name": string,
+ "last_mounted_on": string,
+ "filesystem_uuid": string,
+ "filesystem_magic_number": string,
+ "filesystem_revision_number": string,
+ "filesystem_features": [
+ string
+ ],
+ "filesystem_flags": string,
+ "default_mount_options": string,
+ "filesystem_state": string,
+ "errors_behavior": string,
+ "filesystem_os_type": string,
+ "inode_count": integer,
+ "block_count": integer,
+ "reserved_block_count": integer,
+ "free_blocks": integer,
+ "free_inodes": integer,
+ "first_block": integer,
+ "block_size": integer,
+ "fragment_size": integer,
+ "group_descriptor_size": integer,
+ "reserved_gdt_blocks": integer,
+ "blocks_per_group": integer,
+ "fragments_per_group": integer,
+ "inodes_per_group": integer,
+ "inode_blocks_per_group": integer,
+ "flex_block_group_size": integer,
+ "filesystem_created": string,
+ "filesystem_created_epoch": integer,
+ "filesystem_created_epoch_utc": integer,
+ "last_mount_time": string,
+ "last_mount_time_epoch": integer,
+ "last_mount_time_epoch_utc": integer,
+ "last_write_time": string,
+ "last_write_time_epoch": integer,
+ "last_write_time_epoch_utc": integer,
+ "mount_count": integer,
+ "maximum_mount_count": integer,
+ "last_checked": string,
+ "last_checked_epoch": integer,
+ "last_checked_epoch_utc": integer,
+ "check_interval": string,
+ "lifetime_writes": string,
+ "reserved_blocks_uid": string,
+ "reserved_blocks_gid": string,
+ "first_inode": integer,
+ "inode_size": integer,
+ "required_extra_isize": integer,
+ "desired_extra_isize": integer,
+ "journal_inode": integer,
+ "default_directory_hash": string,
+ "directory_hash_seed": string,
+ "journal_backup": string,
+ "checksum_type": string,
+ "checksum": string
+ }
+
+Examples:
+
+ $ tune2fs | jc --tune2fs -p
+ {
+ "version": "1.46.2 (28-Feb-2021)",
+ "filesystem_volume_name": "",
+ "last_mounted_on": "/home",
+ "filesystem_uuid": "5fb78e1a-b214-44e2-a309-8e35116d8dd6",
+ "filesystem_magic_number": "0xEF53",
+ "filesystem_revision_number": "1 (dynamic)",
+ "filesystem_features": [
+ "has_journal",
+ "ext_attr",
+ "resize_inode",
+ "dir_index",
+ "filetype",
+ "needs_recovery",
+ "extent",
+ "64bit",
+ "flex_bg",
+ "sparse_super",
+ "large_file",
+ "huge_file",
+ "dir_nlink",
+ "extra_isize",
+ "metadata_csum"
+ ],
+ "filesystem_flags": "signed_directory_hash",
+ "default_mount_options": "user_xattr acl",
+ "filesystem_state": "clean",
+ "errors_behavior": "Continue",
+ "filesystem_os_type": "Linux",
+ "inode_count": 3932160,
+ "block_count": 15728640,
+ "reserved_block_count": 786432,
+ "free_blocks": 15198453,
+ "free_inodes": 3864620,
+ "first_block": 0,
+ "block_size": 4096,
+ "fragment_size": 4096,
+ "group_descriptor_size": 64,
+ "reserved_gdt_blocks": 1024,
+ "blocks_per_group": 32768,
+ "fragments_per_group": 32768,
+ "inodes_per_group": 8192,
+ "inode_blocks_per_group": 512,
+ "flex_block_group_size": 16,
+ "filesystem_created": "Mon Apr 6 15:10:37 2020",
+ "last_mount_time": "Mon Sep 19 15:16:20 2022",
+ "last_write_time": "Mon Sep 19 15:16:20 2022",
+ "mount_count": 14,
+ "maximum_mount_count": -1,
+ "last_checked": "Fri Apr 8 15:24:22 2022",
+ "check_interval": "0 ()",
+ "lifetime_writes": "203 GB",
+ "reserved_blocks_uid": "0 (user root)",
+ "reserved_blocks_gid": "0 (group root)",
+ "first_inode": 11,
+ "inode_size": 256,
+ "required_extra_isize": 32,
+ "desired_extra_isize": 32,
+ "journal_inode": 8,
+ "default_directory_hash": "half_md4",
+ "directory_hash_seed": "67d5358d-723d-4ce3-b3c0-30ddb433ad9e",
+ "journal_backup": "inode blocks",
+ "checksum_type": "crc32c",
+ "checksum": "0x7809afff",
+ "filesystem_created_epoch": 1586211037,
+ "filesystem_created_epoch_utc": null,
+ "last_mount_time_epoch": 1663625780,
+ "last_mount_time_epoch_utc": null,
+ "last_write_time_epoch": 1663625780,
+ "last_write_time_epoch_utc": null,
+ "last_checked_epoch": 1649456662,
+ "last_checked_epoch_utc": null
+ }
+
+ $ tune2fs | jc --tune2fs -p -r
+ {
+ "version": "1.46.2 (28-Feb-2021)",
+ "filesystem_volume_name": "",
+ "last_mounted_on": "/home",
+ "filesystem_uuid": "5fb78e1a-b214-44e2-a309-8e35116d8dd6",
+ "filesystem_magic_number": "0xEF53",
+ "filesystem_revision_number": "1 (dynamic)",
+ "filesystem_features": "has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum",
+ "filesystem_flags": "signed_directory_hash",
+ "default_mount_options": "user_xattr acl",
+ "filesystem_state": "clean",
+ "errors_behavior": "Continue",
+ "filesystem_os_type": "Linux",
+ "inode_count": "3932160",
+ "block_count": "15728640",
+ "reserved_block_count": "786432",
+ "free_blocks": "15198453",
+ "free_inodes": "3864620",
+ "first_block": "0",
+ "block_size": "4096",
+ "fragment_size": "4096",
+ "group_descriptor_size": "64",
+ "reserved_gdt_blocks": "1024",
+ "blocks_per_group": "32768",
+ "fragments_per_group": "32768",
+ "inodes_per_group": "8192",
+ "inode_blocks_per_group": "512",
+ "flex_block_group_size": "16",
+ "filesystem_created": "Mon Apr 6 15:10:37 2020",
+ "last_mount_time": "Mon Sep 19 15:16:20 2022",
+ "last_write_time": "Mon Sep 19 15:16:20 2022",
+ "mount_count": "14",
+ "maximum_mount_count": "-1",
+ "last_checked": "Fri Apr 8 15:24:22 2022",
+ "check_interval": "0 ()",
+ "lifetime_writes": "203 GB",
+ "reserved_blocks_uid": "0 (user root)",
+ "reserved_blocks_gid": "0 (group root)",
+ "first_inode": "11",
+ "inode_size": "256",
+ "required_extra_isize": "32",
+ "desired_extra_isize": "32",
+ "journal_inode": "8",
+ "default_directory_hash": "half_md4",
+ "directory_hash_seed": "67d5358d-723d-4ce3-b3c0-30ddb433ad9e",
+ "journal_backup": "inode blocks",
+ "checksum_type": "crc32c",
+ "checksum": "0x7809afff"
+ }
+
+
+
+### parse
+
+```python
+def parse(data: str, raw: bool = False, quiet: bool = False) -> JSONDictType
+```
+
+Main text parsing function
+
+Parameters:
+
+ data: (string) text data to parse
+ raw: (boolean) unprocessed output if True
+ quiet: (boolean) suppress warning messages if True
+
+Returns:
+
+ Dictionary. Raw or processed structured data.
+
+### Parser Information
+Compatibility: linux
+
+Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)