{"id":50389114,"url":"https://github.com/glazzes/react-native-zoom-toolkit","last_synced_at":"2026-05-30T17:01:55.346Z","repository":{"id":221590377,"uuid":"754818927","full_name":"Glazzes/react-native-zoom-toolkit","owner":"Glazzes","description":"Zoom anything you want! Most complete pinch to zoom utilities for React Native","archived":false,"fork":false,"pushed_at":"2026-05-19T20:20:20.000Z","size":41164,"stargazers_count":380,"open_issues_count":4,"forks_count":33,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-19T21:17:42.776Z","etag":null,"topics":["crop","cropping","gallery","gestures","image-gallery","image-zoom","lightbox","pinch","pinch-to-zoom","react-native","react-native-image-zoom","react-native-reanimated","react-native-zoom","react-native-zoomable","zoom","zoomable","zoomable-image"],"latest_commit_sha":null,"homepage":"https://glazzes.github.io/react-native-zoom-toolkit/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Glazzes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-08T20:28:00.000Z","updated_at":"2026-05-11T10:08:49.000Z","dependencies_parsed_at":"2024-05-07T22:25:12.471Z","dependency_job_id":"411fb746-0891-4a8d-a160-1f9133d292ae","html_url":"https://github.com/Glazzes/react-native-zoom-toolkit","commit_stats":null,"previous_names":["glazzes/react-native-zoomable","glazzes/react-native-zoom-toolkit"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/Glazzes/react-native-zoom-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glazzes%2Freact-native-zoom-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glazzes%2Freact-native-zoom-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glazzes%2Freact-native-zoom-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glazzes%2Freact-native-zoom-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Glazzes","download_url":"https://codeload.github.com/Glazzes/react-native-zoom-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Glazzes%2Freact-native-zoom-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33700863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crop","cropping","gallery","gestures","image-gallery","image-zoom","lightbox","pinch","pinch-to-zoom","react-native","react-native-image-zoom","react-native-reanimated","react-native-zoom","react-native-zoomable","zoom","zoomable","zoomable-image"],"created_at":"2026-05-30T17:01:54.442Z","updated_at":"2026-05-30T17:01:55.337Z","avatar_url":"https://github.com/Glazzes.png","language":"TypeScript","funding_links":["https://ko-fi.com/glazzes"],"categories":[],"sub_categories":[],"readme":"\u003cdiv\u003e\n  \u003ch1 align=\"center\"\u003eReact Native Zoom Toolkit\u003c/h1\u003e\n\u003c/div\u003e\n\n\u003cdiv\u003e\n  \u003ch4 align=\"center\"\u003eA set of components and utilities for common pinch to zoom feature requirements\u003c/h4\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003eThe most feature rich React Native library to solve common use cases of the pinch to zoom interaction, as well as providing barebones utilities for complex use cases, such as pinch to zoom React Native Skia's components.\u003c/p\u003e\n\n\u003e[!Note]\n\u003e Are you watching from NPM's website? NPM's markdown renderer does not render videos, watch them on [github](https://github.com/Glazzes/react-native-zoom-toolkit).\n\n| SnapbackZoom | ResumableZoom | CropZoom | Gallery |\n|--------------|---------------|----------|---------|\n|\u003cvideo src=\"https://github.com/Glazzes/react-native-zoomable/assets/52082794/19f73880-96ee-4eb4-b68f-53191faf4027\" width=\"100%\" controls\u003e | \u003cvideo src=\"https://github.com/Glazzes/react-native-zoom-toolkit/assets/52082794/f07a8916-e115-4af5-ae6d-932fa86a5e53\" width=\"100%\" controls\u003e | \u003cvideo src=\"https://github.com/Glazzes/react-native-zoomable/assets/52082794/7253f7d5-42b0-4426-92ca-5b6772e10b5e\" width=\"100%\" controls\u003e | \u003cvideo src=\"https://github.com/Glazzes/react-native-zoom-toolkit/assets/52082794/9eb361bc-e45b-41c6-bb62-ef7722e459f9\" controls /\u003e |\n\n## Features\n\n- **Limitless**: Smoothly zoom in and out any component you want, you're not limited to images only.\n- **Performance:** Smooth gesture interactions powered by Reanimated and Gesture Handler.\n- **Customizable:** Highly customizable components, tailor them to your needs.\n- **SnapBackZoom:** Zoom in and snap back, this component automatically snaps back to its original position once the gesture ends, making it ideal for previews.\n- **ResumableZoom**: Pick up where you left last time! This component remembers your previous interactions with it, just the same way it works in your Android/IOS OS integrated gallery application, making it ideal for detail screens and gallery screens.\n- **CropZoom:** An ideal, practical and unopinionated component for image and video cropping needs.\n- **Gallery:** A practial gallery component which implements `ResuambleZoom` capabilities for all items in the list.\n- **Mirror:** Mirror the current pinch gesture transformations to any other component you want.\n- **Expo Compatible**: This library has been written in typescript only and supported modules by the expo SDK.\n\n## Documentation\nTo check out the docs, visit https://glazzes.github.io/react-native-zoom-toolkit/\n\n## Consulting\nIf your requirements are too specific and you need support tailored to your needs, you can reach out to me with your use case at santiagop1@protonmail.com, I'll see if we make a good fit, so we can work together!\n\n## Support\nIf you've found good usage out of this library, you can make a donation by clicking on the image down below.\n\n[\u003cimg src=\"https://storage.ko-fi.com/cdn/fullLogoKofi.png\" width=\"150px\" /\u003e](https://ko-fi.com/glazzes)\n\n## Demo\nThe example app comes with five different examples from which you can learn from, see the [Example app](./example/).\n\n## License\n[Mit license](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglazzes%2Freact-native-zoom-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglazzes%2Freact-native-zoom-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglazzes%2Freact-native-zoom-toolkit/lists"}