Skip to main content

Tax Deduction Information

Did you know that “stuff” donations to Goodwill are tax deductible? When you donate your stuff, a donor representative can give you a receipt for tax purposes. Be sure to hang on to that receipt for tax time. If you need a blank donation tax receipt click here.

Federal law permits Goodwill donors to claim tax deductions for many financial contributions, and for donated clothing and household goods in good used condition or better. To help guide you, we have compiled a suggested list with price ranges for items commonly sold in Goodwill stores. View list of suggested price ranges for items commonly sold in Goodwill stores

If you’re unsure whether your item qualifies for a tax deduction, then consider this: If you would give it to a relative or friend, then the item is most likely in good condition and is appropriate to donate.

Assume the items are in good condition and remember, prices are only estimated values.

At Goodwill, we want people to give as much thought to where they donate their items as they would to where they donate their money. Donors should give to charities they trust and that will make the most of their donations. More than 90% of our revenues are channeled into job training, placement programs and other critical community services that benefit thousands of people each year.

Now Offering Online Tax-Exempt Forms

Make your donations or purchases tax-exempt with ease! Filling out this form ensures you save time and streamline the process for your tax-exempt status. Don’t miss out on this convenient option.

Get started today! Click below to access the form:

Access Tax-Exempt Form

truetrue
4MBMemory Usage109msRequest Duration
Joomla! Version4.2.5
PHP Version8.1.32
Identityguest
Response200
Templategoodwill-cassiopeia
Database
Server
mysql
Version
10.5.26-MariaDB
Collation
utf8_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
[]
$_COOKIE
[]
$_SERVER
array:58 [ "USER" => "yourgoodwill" "HOME" => "/var/www/vhosts/yourgoodwill.org" "SCRIPT_NAME"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1742943469 "last" => 1742943469...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
PHPDEBUGBAR_STACK_DATA
[]
  • afterLoad (539.32KB) (8.29ms)
  • afterInitialise (814.01KB) (24.65ms)
  • afterRoute (553.26KB) (2.02ms)
  • beforeRenderComponent com_content (44.21KB) (5.38ms)
  • Before Access::preloadComponents (all components) (108.44KB) (5.55ms)
  • After Access::preloadComponents (all components) (109.42KB) (1.14ms)
  • Before Access::preloadPermissions (com_content) (3.85KB) (26μs)
  • After Access::preloadPermissions (com_content) (457.11KB) (1.86ms)
  • Before Access::getAssetRules (id:96 name:com_content.article.36) (34.8KB) (36μs)
  • After Access::getAssetRules (id:96 name:com_content.article.36) (8.47KB) (212μs)
  • afterRenderComponent com_content (314.97KB) (17.75ms)
  • afterDispatch (2.28KB) (134μs)
  • beforeRenderRawModule mod_menu (Main Menu) (296.17KB) (6.75ms)
  • afterRenderRawModule mod_menu (Main Menu) (310.63KB) (13.49ms)
  • beforeRenderModule mod_menu (Main Menu) (8.93KB) (1.53ms)
  • afterRenderModule mod_menu (Main Menu) (11.31KB) (345μs)
  • afterRender (181.91KB) (10.02ms)
  • 1 x afterInitialise (814.01KB) (22.57%)
    24.65ms
    1 x afterRenderComponent com_content (314.97KB) (16.25%)
    17.75ms
    1 x afterRenderRawModule mod_menu (Main Menu) (310.63KB) (12.35%)
    13.49ms
    1 x afterRender (181.91KB) (9.18%)
    10.02ms
    1 x afterLoad (539.32KB) (7.59%)
    8.29ms
    1 x beforeRenderRawModule mod_menu (Main Menu) (296.17KB) (6.18%)
    6.75ms
    1 x Before Access::preloadComponents (all components) (108.44KB) (5.08%)
    5.55ms
    1 x beforeRenderComponent com_content (44.21KB) (4.93%)
    5.38ms
    1 x afterRoute (553.26KB) (1.85%)
    2.02ms
    1 x After Access::preloadPermissions (com_content) (457.11KB) (1.7%)
    1.86ms
    1 x beforeRenderModule mod_menu (Main Menu) (8.93KB) (1.4%)
    1.53ms
    1 x After Access::preloadComponents (all components) (109.42KB) (1.04%)
    1.14ms
    1 x afterRenderModule mod_menu (Main Menu) (11.31KB) (0.32%)
    345μs
    1 x After Access::getAssetRules (id:96 name:com_content.article.36) (8.47KB) (0.19%)
    212μs
    1 x afterDispatch (2.28KB) (0.12%)
    134μs
    1 x Before Access::getAssetRules (id:96 name:com_content.article.36) (34.8KB) (0.03%)
    36μs
    1 x Before Access::preloadPermissions (com_content) (3.85KB) (0.02%)
    26μs
18 statements were executed, 2 of which were duplicates, 16 unique9.59ms158.33KB
  • SELECT @@SESSION.sql_mode;160μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:293Copy
  • SELECT `data` FROM `jmla_session` WHERE `session_id` = ?143μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = :session_id LIMIT 1135μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jmla_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)851μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jmla_viewlevels`195μs1.58KB/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jmla_usergroups` AS `a` LEFT JOIN `jmla_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest329μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40)583μs7.75KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0907μs93.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jmla_content`717μs3.64KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:584Copy
  • UPDATE jmla_content SET `hits` = (`hits` + 1) WHERE `id` = '36'755μs48B/libraries/src/Table/Table.php:1319Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jmla_content` AS `a` INNER JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)464μs8.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`508μs5.25KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jmla_contentitem_tag_map` AS `m` INNER JOIN `jmla_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)412μs5.22KBParams/libraries/src/Helper/TagsHelper.php:364Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`725μs5.25KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM jmla_fields AS a LEFT JOIN `jmla_languages` AS l ON l.lang_code = a.language LEFT JOIN jmla_users AS uc ON uc.id=a.checked_out LEFT JOIN jmla_viewlevels AS ag ON ag.id = a.access LEFT JOIN jmla_users AS ua ON ua.id = a.created_user_id LEFT JOIN jmla_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jmla_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC1.04ms6KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:165Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `jmla_modules` AS `m` LEFT JOIN `jmla_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `jmla_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`981μs2.44KBParams/libraries/src/Cache/Controller/CallbackController.php:132Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `jmla_scheduler_tasks` AS `a` LEFT JOIN `jmla_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`next_execution` <= :now ORDER BY `a`.`title` asc383μs6.95KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `jmla_scheduler_tasks` AS `a` LEFT JOIN `jmla_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`locked` IS NOT NULL ORDER BY `a`.`title` asc295μs4.43KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy